From bf6769c6b1658c5f6a7b02fc8fc0400fc4f61dec Mon Sep 17 00:00:00 2001 From: realtradam Date: Fri, 28 Jan 2022 16:41:23 -0500 Subject: fix order of attr triggers --- lib/felecs/component_manager.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'lib') 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 -- cgit v1.2.3