aboutsummaryrefslogtreecommitdiff
path: root/src/ecs/component.zig
diff options
context:
space:
mode:
authorjjanzen <jjanzen@jjanzen.ca>2025-01-21 21:46:21 -0600
committerjjanzen <jjanzen@jjanzen.ca>2025-01-21 21:46:21 -0600
commiteb2e8d13fa7c81a5dc0714be4012b522280d49cc (patch)
tree0ff14aec06f3361a692521ca68207fd6e0b09bc0 /src/ecs/component.zig
parent56bb712c67e249ecb04c6752d55f562a87607e45 (diff)
rigorous ecs implementation
Diffstat (limited to 'src/ecs/component.zig')
-rw-r--r--src/ecs/component.zig27
1 files changed, 4 insertions, 23 deletions
diff --git a/src/ecs/component.zig b/src/ecs/component.zig
index 4a10172..37956d0 100644
--- a/src/ecs/component.zig
+++ b/src/ecs/component.zig
@@ -11,29 +11,10 @@ pub const ComponentStub = struct {
}
};
-pub const ComponentType = enum(usize) {
- component_stub = 0,
+pub const ComponentType = enum {
+ component_stub,
};
-pub const Component = union(ComponentType) {
- component_stub: ComponentStub,
-
- pub fn init(t: ComponentType, args: anytype) Component {
- switch (t) {
- ComponentType.component_stub => return Component{
- .component_stub = ComponentStub.init(args),
- },
- }
- }
-
- pub fn deinit(self: *Component) void {
- switch (self.*) {
- .component_stub => |*comp| comp.deinit(),
- }
- }
+pub const Components = struct {
+ component_stub: ?ComponentStub,
};
-
-test "stub component" {
- var stub = Component.init(ComponentType.component_stub, .{});
- defer stub.deinit();
-}