Пример #1
0
 protected override void BeforeOnDestory()
 {
     base.BeforeOnDestory();
     m_Pool = null;
     m_CurrentRegionMonsterList.Clear();
     regionEntityList.Clear();
     m_CurRegionCtrl = null;
     m_AllRegion.SetArrNull();
 }
Пример #2
0
    /// <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();
        }
    }
Пример #3
0
 /// <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);
     }
 }