Exemple #1
0
        /// <summary>
        /// 工具型方法,请勿在未判断业务逻辑时直接使用
        /// </summary>
        /// <param name="agent"></param>
        public void DestoryAgent(FlockAgent agent)
        {
            if (agent.agentContainerType == AgentContainerType.MainPanel)
            {
                agent.Reset();
                Destroy(agent.gameObject);
            }
            else if (agent.agentContainerType == AgentContainerType.BackPanel)
            {
                agent.Reset();

                Destroy(agent.gameObject);
            }
            else
            {
                _flockAgentInStarPool.ReleaseObj(agent);
            }
        }
Exemple #2
0
        //
        //  清理所有的agents
        //
        public void RecycleAgent(FlockAgent agent)
        {
            //Debug.Log("Recycle Agent : " + agent.gameObject + "[" + agent.SceneIndex + "]") ;

            agent.Reset();
            _agents.Remove(agent);

            _manager.collisionManager.RemoveCollisionMoveBasicAgent(agent);
            DestoryAgent(agent);
        }