using System; using UnityEngine; namespace ZC { public class GameObjectBase : MonoBehaviour, IBehaviour //, ICreateBindingGo { private GameObject _go; private long _id; private bool _isDisposed; private bool _isPause; public GameObject go => this._go; public long Id => this._id; public bool isDisposed => this._isDisposed; public bool isPause => this._isPause; #region mono private void Awake() { OnInit(); } private void OnDestroy() { OnDispose(); } #endregion public virtual void OnInit() { this._isDisposed = false; this._isPause = false; } public virtual void OnUpdate(float dateTime) { } public virtual void OnPause() { this._isPause = true; } public virtual void OnResume() { this._isPause = false; } public virtual void OnDispose() { this._isDisposed = true; } } }