This commit is contained in:
Peter Li 2025-05-12 08:53:23 -07:00
parent c62ab1ec84
commit 0413399667
1 changed files with 45 additions and 0 deletions

View File

@ -96,6 +96,50 @@ pub const FoxObject = struct {
}
};
pub const DamagedHelmet = struct {
data: core.GameObjectData = undefined,
entity: core.Entity,
var first: bool = true;
pub fn create(alloc: std.mem.Allocator) !*@This() {
const refs = [_]assets.AssetImportReference{ assets.MakeImportRefOptions(
"Mesh",
"m_damagedHelmet",
.{ .path = "gltf-samples/DamagedHelmet/glTF/DamagedHelmet.gltf" },
), assets.MakeImportRefOptions(
"Texture",
"t_damagedHelmet",
.{ .path = "gltf-samples/DamagedHelmet/glTF/Default_albedo.png" },
) };
if (first) {
first = false;
try assets.loadList(refs);
}
const self = try alloc.create(@This());
self.entity = try core.createEntity();
const scene = self.entity.addComponent(core.Scene).?;
_ = scene;
// scene.setScale(0.01, 0.01, 0.01);
const mesh = self.entity.addComponent(rend.MeshComponent).?;
mesh.setMesh("m_damagedHelmet");
mesh.setTexture("t_damagedHelmet");
return self;
}
pub fn getEntity(self: *@This()) core.Entity {
return self.entity;
}
pub fn destroy(self: *@This()) void {
self.entity.destroy();
self.data.release(self);
}
};
pub fn prepare(self: *@This()) !void {
core.engine_log(">>>>>>> game prepare", .{});
var z = core.tracy.ZoneN(@src(), "PREPARING GAME");
@ -108,6 +152,7 @@ pub fn prepare(self: *@This()) !void {
try self.objectSpawner.addSpawnFunction("fox", FoxObject);
try self.objectSpawner.addSpawnFunction("doomplayer", DoomPlayer.DoomCanvas);
try self.objectSpawner.addSpawnFunction("empire", @import("empire.zig"));
try self.objectSpawner.addSpawnFunction("DamagedHelmet", DamagedHelmet);
ui.context().drawDebug = true;