1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- namespace TFramework
- {
- public abstract class BindDataBase<T>
- {
- protected List<UIBehaviour> m_UIs;
- private T _data;
- public T Data
- {
- get => _data;
- set
- {
- _data = value;
- DataValueChangeEvent();
- }
- }
- /// <summary>
- /// Êý¾Ý¸Ä±äʼþ
- /// </summary>
- protected abstract void DataValueChangeEvent();
- /// <summary>
- /// °ó¶¨UI
- /// </summary>
- /// <param name="uI"></param>
- public virtual void Bind(UIBehaviour uI)
- {
- m_UIs.Add(uI);
- BindEvent(uI);
- }
- protected abstract void BindEvent(UIBehaviour uI);
- protected virtual void Bind(IEnumerable<UIBehaviour> uIs)
- {
- foreach (var item in uIs)
- Bind(item);
- }
- public BindDataBase()
- {
- m_UIs = new List<UIBehaviour>();
- }
- public BindDataBase(UIBehaviour uI)
- {
- m_UIs = new List<UIBehaviour>();
- Bind(uI);
- }
- public BindDataBase(IEnumerable<UIBehaviour> uIs)
- {
- m_UIs = new List<UIBehaviour>();
- Bind(uIs);
- }
- }
- }
|