public void UnRegisterFromDataBindStore(DataBindKey key, DataBindElement value) { if (!m_DataBindStore.ContainsKey(key)) { return; } List <DataBindElement> list = m_DataBindStore[key]; list.Remove(value); }
public void RegisterToDataBindStore(DataBindKey key, DataBindElement value) { if (!m_DataBindStore.ContainsKey(key)) { m_DataBindStore.Add(key, new List <DataBindElement>()); } List <DataBindElement> list = m_DataBindStore[key]; for (int i = 0; i < list.Count; ++i) { if (list[i].callBack == value.callBack && list[i].listener == value.listener) { return; } } list.Add(value); }
public void BindExcution(DataBindKey key, object value) { List <DataBindElement> tmpList = null; if (m_DataBindStore.TryGetValue(key, out tmpList)) { for (int i = 0; i < tmpList.Count; ++i) { DataBindElement elem = tmpList[i]; m_TypeHandlerStore[elem.bindType](elem.listener, value); if (null != elem.callBack) { elem.callBack(value); } } } }