diff options
| author | iamcheeseman <[email protected]> | 2026-03-30 17:52:23 -0400 |
|---|---|---|
| committer | iamcheeseman <[email protected]> | 2026-03-30 17:52:23 -0400 |
| commit | f52aaaad971d11fa145a391e521e37ea3c3b230e (patch) | |
| tree | baf5ae7bd8b284209a2551386fd324b5f57e7d44 /src/objs/speck_entity.lua | |
| parent | 7859709ac3b1500e3037c5dceacb77bcff778e89 (diff) | |
| parent | feafbd1e1a6a1846ab5fe416ee31e2e14f603edd (diff) | |
Merge branch 'main' of ssh://codeberg.org/the-gutter/gutshot
Diffstat (limited to 'src/objs/speck_entity.lua')
| -rw-r--r-- | src/objs/speck_entity.lua | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/objs/speck_entity.lua b/src/objs/speck_entity.lua new file mode 100644 index 0000000..cf81130 --- /dev/null +++ b/src/objs/speck_entity.lua @@ -0,0 +1,34 @@ + +register_comp("Speck_System", function(ent) + ent.speck_sys = Speck_Sys.new() +end) + +function speck_update_sys(ent, dt) + ent.speck_sys.x = ent.x + ent.speck_sys.y = ent.y + + ent.speck_sys:update(dt) +end + +function speck_draw_sys(ent) + ent.speck_sys:draw() +end + +function new_speck_entity(x, y, filepath) + local ent = new_entity() + add_comp(ent, "Position", x, y) + add_comp(ent, "Speck_System") + ent.speck_sys = load_speck_sys(filepath) + ent.speck_sys.oneshot = true + + add_comp(ent, "Speck_Entity") +end + +register_comp("Speck_Entity", TAGCOMP) + +function speck_entity_system(ent, dt) + local sys = ent.speck_sys + if not sys.emitting and sys:is_empty() then + queue_entity_kill(ent) + end +end |
