diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/felecs/component_manager.rb | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/felecs/component_manager.rb b/lib/felecs/component_manager.rb index 36916cb..02e4d05 100644 --- a/lib/felecs/component_manager.rb +++ b/lib/felecs/component_manager.rb @@ -36,8 +36,10 @@ module FelECS attrs_with_defaults[attr] = _default.dup FelECS::Components.const_get(component_name).attr_reader attr FelECS::Components.const_get(component_name).define_method("#{attr}=") do |value| - attr_changed_trigger_systems(attr) unless value.equal? send(attr) - instance_variable_set("@#{attr}", value) + unless value.equal? send(attr) + instance_variable_set("@#{attr}", value) + attr_changed_trigger_systems(attr) + end end end FelECS::Components.const_get(component_name).define_method(:set_defaults) do |
