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(); }