README
This commit is contained in:
parent
deac87df4d
commit
7d4957d819
2 changed files with 100 additions and 0 deletions
99
README.md
Normal file
99
README.md
Normal file
|
|
@ -0,0 +1,99 @@
|
||||||
|
**Includes**
|
||||||
|
- Plugins
|
||||||
|
- Scheduler
|
||||||
|
- Resources
|
||||||
|
- Events
|
||||||
|
- ECS (Archetype)
|
||||||
|
|
||||||
|
**Plugin**
|
||||||
|
``` zig
|
||||||
|
pub const plugin: App.plugin.Plugin = .{
|
||||||
|
.name = "Renderer",
|
||||||
|
.description = "Vulkan Renderer",
|
||||||
|
.build = build,
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
**System**
|
||||||
|
``` zig
|
||||||
|
pub fn render(ctx: App.scheduler.Context) !void {
|
||||||
|
// --- GET RESOURCES ---
|
||||||
|
const res = try ctx.app.resources.getMany(struct {
|
||||||
|
window: *Window,
|
||||||
|
device: *Device,
|
||||||
|
render_frame: ?*RenderFrame,
|
||||||
|
});
|
||||||
|
|
||||||
|
if (res.render_frame) |rf| {
|
||||||
|
_ = rf;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
**Simple**
|
||||||
|
``` zig
|
||||||
|
test "Main" {
|
||||||
|
// --- APP ---
|
||||||
|
var app: Self = .init(std.testing.allocator);
|
||||||
|
defer app.deinit();
|
||||||
|
|
||||||
|
{ // PLUGINS
|
||||||
|
// --- ADD PLUGINS ---
|
||||||
|
try app.plugins.addMany(&.{
|
||||||
|
example.simple.plugin,
|
||||||
|
});
|
||||||
|
|
||||||
|
// --- BUILD PLUGINS ---
|
||||||
|
try app.plugins.build(.{
|
||||||
|
.app = &app,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
{ // SYSTEMS
|
||||||
|
try app.schedules.runMany(&.{
|
||||||
|
example.simple.stage.Init,
|
||||||
|
example.simple.stage.Inputs,
|
||||||
|
example.simple.stage.Update,
|
||||||
|
example.simple.stage.Draw,
|
||||||
|
example.simple.stage.Deinit,
|
||||||
|
}, .{
|
||||||
|
.app = &app,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
**Default App Stages**
|
||||||
|
``` zig
|
||||||
|
pub const stage = struct {
|
||||||
|
// --- INIT ---
|
||||||
|
pub const pre_init = struct {};
|
||||||
|
pub const init = struct {};
|
||||||
|
pub const post_init = struct {};
|
||||||
|
|
||||||
|
// --- DEINIT ---
|
||||||
|
pub const pre_deinit = struct {};
|
||||||
|
pub const deinit = struct {};
|
||||||
|
pub const post_deinit = struct {};
|
||||||
|
|
||||||
|
// --- INPUTS ---
|
||||||
|
pub const pre_inputs = struct {};
|
||||||
|
pub const inputs = struct {};
|
||||||
|
pub const post_inputs = struct {};
|
||||||
|
|
||||||
|
// --- FIXED UPDATE ---
|
||||||
|
pub const pre_fixed_update = struct {};
|
||||||
|
pub const fixed_update = struct {};
|
||||||
|
pub const post_fixed_update = struct {};
|
||||||
|
|
||||||
|
// --- UPDATE ---
|
||||||
|
pub const pre_update = struct {};
|
||||||
|
pub const update = struct {};
|
||||||
|
pub const post_update = struct {};
|
||||||
|
|
||||||
|
// --- DRAW ---
|
||||||
|
pub const pre_draw = struct {};
|
||||||
|
pub const draw = struct {};
|
||||||
|
pub const post_draw = struct {};
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
@ -112,6 +112,7 @@ test "Main" {
|
||||||
.app = &app,
|
.app = &app,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
{ // SYSTEMS
|
{ // SYSTEMS
|
||||||
try app.schedules.runMany(&.{
|
try app.schedules.runMany(&.{
|
||||||
example.simple.stage.Init,
|
example.simple.stage.Init,
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue