aboutsummaryrefslogtreecommitdiff
path: root/src/ecs/component.zig
blob: 3a50c88bc47b833a4f6040ccb2a9ef6e107de1f9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//! This module provides a basic component interface for an Entity Component System
const std = @import("std");

/// An empty component for testing purposes
pub const ComponentStub = struct {
    pub fn init(args: ComponentStub) ComponentStub {
        _ = args;
        return .{};
    }

    pub fn deinit(self: *ComponentStub) void {
        _ = self;
    }
};

/// All valid component types are stored in this enum
pub const ComponentType = enum {
    component_stub,
};

/// The components are stored as a MultiArrayList over this struct
pub const Components = struct {
    component_stub: ?ComponentStub,
};