{module,ecs}: Mach ECS becomes the Mach' module system

This moves the bulk of the ECS code into `src/module`. It also makes
types like `mach.ecs.EntityID` accessible at the top-level `mach.EntityID`
instead.

The motivation of this change is to make the Mach module system a
first-class property of Mach.

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
This commit is contained in:
Stephen Gutekanst 2024-04-06 14:53:06 -07:00 committed by Stephen Gutekanst
parent 679a05faf4
commit f578e1f5e2
15 changed files with 23 additions and 52 deletions

View file

@ -3,7 +3,6 @@ const std = @import("std");
const mach = @import("mach");
const core = mach.core;
const gpu = mach.gpu;
const ecs = mach.ecs;
const Sprite = mach.gfx.Sprite;
const math = mach.math;
const vec2 = math.vec2;
@ -16,7 +15,7 @@ const Mat4x4 = math.Mat4x4;
const Text = @import("Text.zig");
timer: mach.Timer,
player: mach.ecs.EntityID,
player: mach.EntityID,
direction: Vec2 = vec2(0, 0),
spawning: bool = false,
spawn_timer: mach.Timer,

View file

@ -1,7 +1,6 @@
// TODO(important): review all code in this file in-depth
const mach = @import("mach");
const gpu = mach.gpu;
const ecs = mach.ecs;
const ft = @import("freetype");
const std = @import("std");
const assets = @import("assets");