engine: minor App event sending cleanup
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
This commit is contained in:
parent
56c16798cd
commit
5737c62171
1 changed files with 6 additions and 5 deletions
|
|
@ -114,14 +114,14 @@ pub const App = struct {
|
||||||
pub fn init(app: *@This()) !void {
|
pub fn init(app: *@This()) !void {
|
||||||
app.* = .{ .modules = undefined };
|
app.* = .{ .modules = undefined };
|
||||||
try app.modules.init(allocator);
|
try app.modules.init(allocator);
|
||||||
app.modules.send(.engine, .init, .{});
|
app.modules.mod.engine.send(.init, .{});
|
||||||
try app.modules.dispatch();
|
try app.modules.dispatch();
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn deinit(app: *@This()) void {
|
pub fn deinit(app: *@This()) !void {
|
||||||
app.modules.send(.engine, .deinit, .{});
|
app.modules.mod.engine.send(.deinit, .{});
|
||||||
// TODO: improve error handling
|
// TODO: dispatch until no remaining events
|
||||||
app.modules.dispatch() catch |err| @panic(@errorName(err)); // dispatch .deinit
|
try app.modules.dispatch(); // dispatch .deinit
|
||||||
app.modules.deinit(gpa.allocator());
|
app.modules.deinit(gpa.allocator());
|
||||||
_ = gpa.deinit();
|
_ = gpa.deinit();
|
||||||
}
|
}
|
||||||
|
|
@ -131,6 +131,7 @@ pub const App = struct {
|
||||||
app.modules.mod.engine.sendGlobal(.tick, .{});
|
app.modules.mod.engine.sendGlobal(.tick, .{});
|
||||||
try app.modules.dispatch(); // dispatch .tick
|
try app.modules.dispatch(); // dispatch .tick
|
||||||
try app.modules.dispatch(); // dispatch any events produced by .tick
|
try app.modules.dispatch(); // dispatch any events produced by .tick
|
||||||
|
|
||||||
return app.modules.mod.engine.state().should_exit;
|
return app.modules.mod.engine.state().should_exit;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue