diff options
| author | ne_mene <[email protected]> | 2026-03-30 01:00:01 +0200 |
|---|---|---|
| committer | ne_mene <[email protected]> | 2026-03-30 01:00:01 +0200 |
| commit | 98ba5cc9b8579c89f964cde1bcd882186e9247a9 (patch) | |
| tree | ce8d2267bcefc719238db6dd7b78dc099e928acf /src/objs | |
| parent | 3869f90394d40673f1e5bb093b0833486905e71f (diff) | |
speck oneshot vfx entity
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 |
