protected override void BeforeOnDestory() { base.BeforeOnDestory(); m_Pool = null; m_CurrentRegionMonsterList.Clear(); regionEntityList.Clear(); m_CurRegionCtrl = null; m_AllRegion.SetArrNull(); }
/// <summary> /// 进入区域 /// </summary> /// <param name="index"></param> private void EnterRegion(int index) { GameLevelRegionEntity entiy = GetRegionEntityByIndex(index); if (entiy == null) { return; } m_KillRegionMonsterCount = 0; int regionId = entiy.RegionId; m_CurRegionCtrl = GetRegionCtrlByRegionIndex(regionId); if (m_CurRegionCtrl == null) { return; } if (index == 0) { if (Global.Instance.CurPlayer != null) { Global.Instance.CurPlayer.Born(m_CurRegionCtrl.RoleBornPos.position); Global.Instance.CurPlayer.OnRoleDie = (ctrl) => { UIViewMgr.Instance.OpenView(UIViewType.GameLevelFail); }; } } if (m_CurRegionCtrl.RegionMaskObj != null) { Destroy(m_CurRegionCtrl.RegionMaskObj); } //开启一下个区域的门 if (index != 0) { GameLevelDoorCtrl door = m_CurRegionCtrl.GetNextRegionDoor(m_CurSelectRegionId); if (door != null) { if (door.m_ConenctDoor != null) { door.m_ConenctDoor.gameObject.SetActive(false); } door.gameObject.SetActive(false); } } m_CurSelectRegionId = regionId; m_CurrentRegionMonsterCount = GameLevelMonsterDBModel.Instance.GetRegionMonsterCount(m_GameLevelId, m_Grade, regionId); m_CurrentRegionMonsterList = GameLevelMonsterDBModel.Instance.GetRegionAllMonsterInfo(m_GameLevelId, m_Grade, regionId); m_CurrentCreateCount = 0; if (DelegateDefine.Instance.OnLoadSceneOK != null) { DelegateDefine.Instance.OnLoadSceneOK(); } }
/// <summary> 进入区域 </summary> /// <param name="regionIndex"></param> private void EnterRegion(int regionIndex) { m_CurrRegionctrl = m_Region[regionIndex]; if (m_CurrRegionctrl == null) { return; } m_CurrRegionctrl.RegionMask.SetActive(false); if (regionIndex != 0) { m_Region[regionIndex - 1].GetToNextRegionDoor(); } m_CurrRegionMonsterCount = 0; m_CurrRegionCreateMonsterCount = 0; m_CurrRegionKillMonsterCount = 0; m_CurrRegionIndex = regionIndex; if (regionIndex == 0) { if (GlobalInit.Instance.CurrPlayer != null) { GlobalInit.Instance.CurrPlayer.SetBornPoint(m_Region[regionIndex].RoleBornPos.position); GlobalInit.Instance.CurrPlayer.ToIdle(RoleIdleState.IdleFight); GlobalInit.Instance.CurrPlayer.OnRoleDie = OnPlayerDie; } if (DelegateDefine.Instance.OnSceneLoadOk != null) { DelegateDefine.Instance.OnSceneLoadOk(); } } m_AllMonsterCount = GameLevelMonsterDBModel.Instance.GetGameLevelMonsterCount(m_Chapter, m_Gamelevel); m_RegionMonsterCountList.Clear(); m_RegionMonsterList = GameLevelMonsterDBModel.Instance.GetGamelLevelRegionMonster(m_Chapter, m_Gamelevel, regionIndex + 1); for (int i = 0; i < m_RegionMonsterList.Count; i++) { m_CurrRegionMonsterCount += m_RegionMonsterList[i].MonsterCount; m_RegionMonsterCountList.Add(m_RegionMonsterList[i].MonsterCount); } }