Backlog/engine/rend/src/meshes/MeshComponent.zig

34 lines
887 B
Zig

mesh: ?meshes.IndexedMesh = null,
textureId: ?u32 = null,
visibility: bool = true,
textureName: core.Name = core.NameInvalid,
meshName: core.Name = core.NameInvalid,
pub var BaseContainer: *MeshSet = undefined;
pub const ComponentName = "Mesh";
pub const ScriptExports: []const []const u8 = &.{
"setMesh",
"setTextureByName",
};
pub fn setMeshByName(self: *@This(), meshName: core.Name) void {
self.meshName = meshName;
}
// script function
pub fn setMesh(self: *@This(), meshName: []const u8) void {
const name = core.MakeName(meshName);
self.mesh = rend.getMeshByName(core.MakeName(meshName));
self.meshName = name;
}
// animator: ?*Animator = null, todo.. implement animator
pub const MeshSet = core.SparseSet(@This());
const meshes = @import("meshes.zig");
const core = @import("core");
const std = @import("std");
const rend = @import("../rend.zig");