mirror of
https://github.com/Ukendio/jecs.git
synced 2025-04-24 17:10:03 +00:00
Add assertion against existing idr
Some checks failed
Some checks failed
This commit is contained in:
parent
ef0f69ac6d
commit
8822be58a9
1 changed files with 6 additions and 0 deletions
|
@ -101,6 +101,8 @@ local function observers_add(world: jecs.World & { [string]: any }): PatchedWorl
|
||||||
|
|
||||||
world.added = function(_, component, fn)
|
world.added = function(_, component, fn)
|
||||||
local listeners = signals.added[component]
|
local listeners = signals.added[component]
|
||||||
|
local component_index = world.component_index :: jecs.ComponentIndex
|
||||||
|
assert(component_index[component] == nil, "You cannot use hooks on components you intend to use this signal with")
|
||||||
if not listeners then
|
if not listeners then
|
||||||
listeners = {}
|
listeners = {}
|
||||||
signals.added[component] = listeners
|
signals.added[component] = listeners
|
||||||
|
@ -115,6 +117,8 @@ local function observers_add(world: jecs.World & { [string]: any }): PatchedWorl
|
||||||
|
|
||||||
world.changed = function(_, component, fn)
|
world.changed = function(_, component, fn)
|
||||||
local listeners = signals.emplaced[component]
|
local listeners = signals.emplaced[component]
|
||||||
|
local component_index = world.component_index :: jecs.ComponentIndex
|
||||||
|
assert(component_index[component] == nil, "You cannot use hooks on components you intend to use this signal with")
|
||||||
if not listeners then
|
if not listeners then
|
||||||
listeners = {}
|
listeners = {}
|
||||||
signals.emplaced[component] = listeners
|
signals.emplaced[component] = listeners
|
||||||
|
@ -130,6 +134,8 @@ local function observers_add(world: jecs.World & { [string]: any }): PatchedWorl
|
||||||
|
|
||||||
world.removed = function(_, component, fn)
|
world.removed = function(_, component, fn)
|
||||||
local listeners = signals.removed[component]
|
local listeners = signals.removed[component]
|
||||||
|
local component_index = world.component_index :: jecs.ComponentIndex
|
||||||
|
assert(component_index[component] == nil, "You cannot use hooks on components you intend to use this signal with")
|
||||||
if not listeners then
|
if not listeners then
|
||||||
listeners = {}
|
listeners = {}
|
||||||
signals.removed[component] = listeners
|
signals.removed[component] = listeners
|
||||||
|
|
Loading…
Reference in a new issue