private static void Run(IComponentBinding binding, BindingTiming timing, UTinyType.Reference type) { var registry = UTinyEditorApplication.Registry; foreach (var entity in UTinyEditorApplication.EntityGroupManager.LoadedEntityGroups.Deref(registry).Entities()) { var component = entity.GetComponent(type); if (null == component) { continue; } binding.Run(timing, entity, component); } }
public void Run(BindingTiming timing, UTinyEntity entity, UTinyObject component) { if (!ValidateBindingsParams(entity, component) || !MatchesRequiredComponentTypes(entity)) { return; } component.Refresh(); switch (timing) { case BindingTiming.OnAddBindings: OnAddBinding(entity, component); break; case BindingTiming.OnUpdateBindings: OnUpdateBinding(entity, component); break; case BindingTiming.OnRemoveBindings: OnRemoveBinding(entity, component); break; case BindingTiming.OnAddComponent: OnAddComponent(entity, component); break; case BindingTiming.OnRemoveComponent: OnRemoveComponent(entity, component); break; default: break; } }