34 lines
887 B
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");
|