diff options
Diffstat (limited to 'src/objs')
| -rw-r--r-- | src/objs/specks.lua | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/objs/specks.lua b/src/objs/specks.lua index 3ea7e43..dd14a59 100644 --- a/src/objs/specks.lua +++ b/src/objs/specks.lua @@ -279,3 +279,22 @@ function load_speck_sys(filename) end return sys 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 |
