public void RegisterObjectBehaviour(ObjectBehaviour obj, BehaviourFunc behaviour) { // 添加到“待添加”字典中,防止在update过程中添加破坏迭代器 if (!m_behaviourPool.ContainsKey(obj) && !m_prepareAdd.Contains(behaviour)) { m_prepareAdd.Push(behaviour); } }
protected ObjectBehaviour() { if (m_mgr == null) { m_mgr = Singleton.GetInstance <ObjectBehaviourMgr>(); } m_enable = true; OnEnable(); Awake(); m_behaviour = new BehaviourFunc() { obj = this, StartHandler = Start, FixedUpdateHandler = FixedUpdate, UpdateHandler = Update, LateUpdateHandler = LateUpdate }; m_mgr.RegisterObjectBehaviour(this, m_behaviour); }