Exemple #1
0
        public void OnDestroyScene()
        {
            foreach (Coroutine coroutine in mDestroyActorCoroutines)
            {
                StopCoroutine(coroutine);
            }
            mDestroyActorCoroutines.Clear();

            List <UnitID> keys = new List <UnitID>(mActorSet.Keys);

            for (int i = 0; i < keys.Count; ++i)
            {
                Actor actor = null;
                if (mActorSet.TryGetValue(keys[i], out actor))
                {
                    DestroyActor(actor.UID, 0);
                }
            }

            mActorSet.Clear();
            mMonsterSet.Clear();
            m_PetSet.Clear();
            mSummonMonsterSet.Clear();
            mCalledMonsterSet.Clear();
            mPlayerSet.Clear();
            m_ClientModelSet.Clear();
            m_WorshipModelSet.Clear();
            mUnitCacheData.Clear();
            mCacheDataMap.Clear();

            // 切换场景的时候重置膜拜雕像的唯一id
            WorshipModel.ResetUUId();
        }