private void Unbind() { if (m_binding != null) { m_binding.Unbind(); StaticObjectPool <UnityEventBinding> .Return(m_binding); m_binding = null; } }
protected IUnityEventBindingTo <T1, T2, T3> BindUnityEvent <T1, T2, T3>(UnityEvent <T1, T2, T3> unityEvent) { if (_bindings.TryGetValue(unityEvent, out var binding)) { return((IUnityEventBindingTo <T1, T2, T3>)binding); } binding = new UnityEventBinding <T1, T2, T3>(unityEvent, _dispatcher); _bindings.Add(unityEvent, binding); return((IUnityEventBindingTo <T1, T2, T3>)binding); }
private void Bind() { if (this.isBound) { return; } m_binding = StaticObjectPool <UnityEventBinding> .Get(); m_binding.Bind(m_driver.onValueObjChanged, this.driverValueChangedAction); }
/* * Event Dispatcher Extension. */ protected IUnityEventBindingTo BindUnityEvent(UnityEvent unityEvent) { if (_bindings.TryGetValue(unityEvent, out var binding)) { return((IUnityEventBindingTo)binding); } binding = new UnityEventBinding(unityEvent, _dispatcher); _bindings.Add(unityEvent, binding); return((IUnityEventBindingTo)binding); }