public override void Dispose() { base.Dispose(); _lastParentBinding?.Unbind(); _lastParentBinding = null; _lastParentComponent = null; }
public void Unbind() { _binding?.Unbind(); _unsubscribe(); _binding = null; _unsubscribe = null; }
public AnimationSubscriber(IEntity obj, Action onSomethingChanged) { _animationComponentBinding = obj.Bind <IAnimationComponent>(c => _animationComponent = c, _ => _animationComponent = null); _obj = obj; _onSomethingChanged = onSomethingChanged; _lastAnimation = null; _lastSprite = null; _lastX = float.MinValue; _lastZ = float.MinValue; }
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 BindingWrapper(IComponentBinding binding, Action unsubscribe) { _binding = binding; _unsubscribe = unsubscribe; }
public static BindingsAttribute Bindings(IComponentBinding binding) { return(new BindingsAttribute { Binding = binding }); }