Esempio n. 1
0
    private void SetCurrentClickGradeBtnColor(GameLevelGrade grade)
    {
        foreach (Image item in m_gameLevelGradeImageList)
        {
            item.color = m_oldeGradeColor;
        }

        switch (grade)
        {
        case GameLevelGrade.Normal:
            m_gameLevelGradeImageList[0].color = m_currentSelectGradeColor;
            break;

        case GameLevelGrade.Hard:
            m_gameLevelGradeImageList[1].color = m_currentSelectGradeColor;
            break;

        case GameLevelGrade.Hell:
            m_gameLevelGradeImageList[2].color = m_currentSelectGradeColor;
            break;

        default:
            break;
        }
    }
Esempio n. 2
0
 public void LoadGameLevel(int sceneId, GameLevelGrade grade)
 {
     m_CurGameLevelSceneId = sceneId;
     m_CurGameLevelGrade   = grade;
     CurrentType           = SceneType.Gamelevel;
     SceneManager.LoadScene(SceneType.Loading.ToString());
 }
Esempio n. 3
0
 protected override void OnMainUIComplete()
 {
     base.OnMainUIComplete();
     m_IsFighting = true;
     PlayerCtrl.Instance.SetMainCityData();
     m_GameLevelId          = SceneMgr.Instance.CurGameLevelSceneId;
     m_Grade                = SceneMgr.Instance.CurGameLevelGrade;
     regionEntityList       = GameLevelRegionDBModel.Instance.GetRegionListByGameLevelId(m_GameLevelId);
     m_CurSelectRegionIndex = 0;
     EnterRegion(m_CurSelectRegionIndex);
     m_AllMonsterCount          = GameLevelMonsterDBModel.Instance.GetLevelMonsterCount(m_GameLevelId, m_Grade);
     m_AllMonsterID             = GameLevelMonsterDBModel.Instance.GetLevelAllMonsterId(m_GameLevelId, m_Grade);
     m_Pool                     = PoolManager.Pools.Create("Monster");
     m_Pool.group.parent        = null;
     m_Pool.group.localPosition = Vector3.zero;
     for (int i = 0; i < m_AllMonsterID.Length; i++)
     {
         Transform  t          = GameUtil.LoadSprite(m_AllMonsterID[i]).transform;
         PrefabPool prefabPool = new PrefabPool(t);
         prefabPool.preloadAmount  = 5;
         prefabPool.cullDespawned  = true;
         prefabPool.cullAbove      = 5;
         prefabPool.cullDelay      = 2;
         prefabPool.cullMaxPerPass = 2;
         m_Pool.CreatePrefabPool(prefabPool);
     }
     Global.Instance.CurPlayer.ToIdle(IdleType.IdleFight);
     GameLevelCtrl.Instance.CurGameLevelTotalExp  = 0;
     GameLevelCtrl.Instance.CurGameLevelTotalGold = 0;
     GameLevelCtrl.Instance.CurGameLevelKillMonsterDic.Clear();
     GameLevelCtrl.Instance.CurGameLevelGetGoodsList.Clear();
 }
Esempio n. 4
0
 public void OnClickGameLevelGradeBtn(GameLevelGrade grade)
 {
     Debug.Log(grade);
     if (m_onClickGameLevelGradeBtnHandler != null)
     {
         m_onClickGameLevelGradeBtnHandler(m_gameLevelId, grade);
     }
 }
Esempio n. 5
0
 /// <summary>
 /// 点击关卡详情难度按钮
 /// </summary>
 /// <param name="p"></param>
 private void OnClickGameLevelDetailsViewGradeButton(object[] p)
 {
     if (p.Length < 2)
     {
         return;
     }
     m_GameLevelSceneId = (int)p[0];
     m_Garade           = (GameLevelGrade)p[1];
     SetGameLevelDetails(m_GameLevelSceneId, m_Garade);
 }
Esempio n. 6
0
    /// <summary>
    /// 点击关卡详情页面进入关卡按钮
    /// </summary>
    /// <param name="p"></param>
    private void OnClickGameLevelDetailsViewEnterLevelButton(object[] p)
    {
        m_GameLevelSceneId = (int)p[0];
        m_Garade           = (GameLevelGrade)p[1];
        GameLevel_EnterProto proto = new GameLevel_EnterProto();

        proto.GameLevelId = m_GameLevelSceneId;
        proto.Grade       = (byte)m_Garade;
        NetWorkSocket.Instance.SendMsg(proto.ToArray());
    }
 /// <summary>
 /// 获取游戏关卡区域怪实体
 /// </summary>
 /// <param name="gameLevelId"></param>
 /// <param name="grade"></param>
 /// <param name="regionId"></param>
 /// <param name="monsterId"></param>
 /// <returns></returns>
 public GameLevelMonsterEntity GetGameLevelMonsterEntity(int gameLevelId, GameLevelGrade grade, int regionId, int monsterId)
 {
     for (int i = 0; i < m_List.Count; i++)
     {
         if (m_List[i].GameLevelId == gameLevelId && m_List[i].Grade == (int)grade && m_List[i].RegionId == regionId && m_List[i].SpriteId == monsterId)
         {
             return(m_List[i]);
         }
     }
     return(null);
 }
Esempio n. 8
0
 public GameLevelGradeEntity GetEntityByGameLevelIdAndGrade(int gameLevelId, GameLevelGrade grade)
 {
     for (int i = 0; i < GetDataList.Count; i++)
     {
         if (GetDataList[i].Grade == (int)grade && GetDataList[i].GameLevelId == gameLevelId)
         {
             return(GetDataList[i]);
         }
     }
     return(null);
 }
 /// <summary>
 /// 根据游戏关卡编号和难度等级和区域编号获取所有怪
 /// </summary>
 /// <param name="gameLevelId"></param>
 /// <param name="grade"></param>
 /// <param name="regionId"></param>
 /// <returns></returns>
 public List <GameLevelMonsterEntity> GetGameLevelMonster(int gameLevelId, GameLevelGrade grade, int regionId)
 {
     retLst.Clear();
     for (int i = 0; i < m_List.Count; i++)
     {
         if (m_List[i].GameLevelId == gameLevelId && m_List[i].Grade == (int)grade && m_List[i].RegionId == regionId)
         {
             retLst.Add(m_List[i]);
         }
     }
     return(retLst);
 }
Esempio n. 10
0
    public void LoadToGameLevel(int gameLevelId, GameLevelGrade grade)
    {
        m_CurrWorldMapId = -1;

        m_CurrGameLevelId    = gameLevelId;
        m_CurrGameLevelGrade = grade;

        CurrSceneType = SceneType.GameLevel;
        CurrPlayType  = PlayType.PVE;

        SceneManager.LoadScene("Scene_Loading");
    }
    /// <summary>
    /// 根据游戏关卡编号和难度等级和区域编号获取怪的总数量
    /// </summary>
    /// <param name="gameLevelId"></param>
    /// <param name="grade"></param>
    /// <param name="regionId"></param>
    /// <returns></returns>
    public int GetGameLevelMonsterCount(int gameLevelId, GameLevelGrade grade, int regionId)
    {
        int count = 0;

        for (int i = 0; i < m_List.Count; i++)
        {
            if (m_List[i].GameLevelId == gameLevelId && m_List[i].Grade == (int)grade && m_List[i].RegionId == regionId)
            {
                count += m_List[i].SpriteCount;
            }
        }
        return(count);
    }
Esempio n. 12
0
 public GameLevelGradeEntity GetEnityByLevelIdAndGrade(int levelId, GameLevelGrade grade)
 {
     if (m_List != null && m_List.Count > 0)
     {
         for (int i = 0; i < m_List.Count; i++)
         {
             if (m_List[i].GameLevelId == levelId && m_List[i].EnumGrade == grade)
             {
                 return(m_List[i]);
             }
         }
     }
     return(null);
 }
    /// <summary>
    /// 根据游戏关卡编号和难度等级获取怪的种类
    /// </summary>
    /// <param name="gameLevelId"></param>
    /// <param name="grade"></param>
    /// <returns></returns>
    public int[] GetGameLevelMonsterId(int gameLevelId, GameLevelGrade grade)
    {
        List <int> lst = new List <int>();

        for (int i = 0; i < m_List.Count; i++)
        {
            if (m_List[i].GameLevelId == gameLevelId && m_List[i].Grade == (int)grade)
            {
                if (!lst.Contains(m_List[i].SpriteId))
                {
                    lst.Add(m_List[i].SpriteId);
                }
            }
        }
        return(lst.ToArray());
    }
    private void SetGameLevelDetailDes(int gameLevelId, GameLevelGrade grade)
    {
        //1.读取游戏关卡表
        GameLevelEntity gameLevelEntity = GameLevelDBModel.GetInstance.GetEntityById(gameLevelId);

        //2.读取游戏关卡难度等级表
        GameLevelGradeEntity gameLevelGradeEntity = GameLevelGradeDBModel.GetInstance.GetEntityByGameLevelIdAndGrade(gameLevelId, grade);

        data = new TransferData();
        data.SetValue <string>("GameLevelDesc", gameLevelGradeEntity.Desc);
        data.SetValue <string>("GameLevelConditionDesc", gameLevelGradeEntity.ConditionDesc);
        data.SetValue <string>("GameLevelDlgPic", gameLevelEntity.DlgPic);
        data.SetValue <int>("GameLevelExp", gameLevelGradeEntity.Exp);
        data.SetValue <int>("GameLevelGold", gameLevelGradeEntity.Gold);
        data.SetValue <int>("GameLevelCommentFighting", gameLevelGradeEntity.CommendFighting);
        data.SetValue <string>("GameLevelName", gameLevelEntity.Name);
        data.SetValue <string>("GameLevelName", gameLevelEntity.Name);
        data.SetValue <int>("GameLevelId", gameLevelEntity.Id);

        m_levelDetailView.SetUI(data, SetGameLevelDetailDes);
    }
    private void OnClickGradeButton(GameLevelGrade gradeType)
    {
        if (m_Grade == gradeType)
        {
            return;
        }
        m_Grade = gradeType;
        if (m_GardeButtonImage.Length == 3)
        {
            for (int i = 0; i < m_GardeButtonImage.Length; i++)
            {
                m_GardeButtonImage[i].color = Color.white;
            }
            m_GardeButtonImage[(int)gradeType].color = m_SelectedColor;
        }

        object[] ps1 = new object[2];
        ps1[0] = m_GameLevelId;
        ps1[1] = gradeType;
        UIDispatcher.Instance.Dispatc(ConstDefine.UIGameLevelDetailsView_Grade, ps1);
    }
Esempio n. 16
0
    private void BtnGradeCilck(GameLevelGrade grade)
    {
        if (m_CurrSelectGrade == grade)
        {
            return;
        }

        m_CurrSelectGrade = grade;

        //重置按钮颜色
        ResetBtnGradeColor();

        if (OnBtnGradeClick != null)
        {
            OnBtnGradeClick(m_GameLevelId, grade);
        }

        if (btnGrades.Length == 3)
        {
            btnGrades[(int)grade].color = selectedGradeColor;
        }
    }
 /// <summary>
 /// 设置游戏关卡详情
 /// </summary>
 /// <param name="gameLevelId"></param>
 /// <param name="grade"></param>
 private void SetGameLevelDetailData(int gameLevelId, GameLevelGrade grade, UIGameLevelDetailView uIGameLevelDetailView)
 {
     SetGameLevelDetailDes(gameLevelId, grade);
     uIGameLevelDetailView.SetUI(data, SetGameLevelDetailDes);
 }
Esempio n. 18
0
    private void SetGameLevelDetails(int gameLevelId, GameLevelGrade grade)
    {
        m_GameLevelSceneId = gameLevelId;
        m_Garade           = grade;
        GameLevelEntity      levelEnitiy = GameLevelDBModel.Instance.Get(gameLevelId);
        GameLevelGradeEntity gradeEnitiy = GameLevelGradeDBModel.Instance.GetEnityByLevelIdAndGrade(gameLevelId, grade);

        if (levelEnitiy == null || gradeEnitiy == null)
        {
            return;
        }
        DataTransfer data = new DataTransfer();

        data.SetData(ConstDefine.GameLevelId, levelEnitiy.Id);
        data.SetData(ConstDefine.GameLevelName, levelEnitiy.Name);
        data.SetData(ConstDefine.GameLevelSceneName, levelEnitiy.SceneName);
        data.SetData(ConstDefine.GameLevelDlgPic, levelEnitiy.DlgPic);

        //装备
        List <DataTransfer> equipDatas  = new List <DataTransfer>();
        List <GoodsEntity>  equipEnitys = gradeEnitiy.RewardEquipList;

        if (equipEnitys != null && equipEnitys.Count > 0)
        {
            equipEnitys.Sort((GoodsEntity entity1, GoodsEntity entity2) =>
            {
                if (entity1.GoodsProbability > entity2.GoodsProbability)
                {
                    return(1);
                }
                else if (entity1.GoodsProbability == entity2.GoodsProbability)
                {
                    return(0);
                }
                else
                {
                    return(-1);
                }
            });
            for (int i = 0; i < equipEnitys.Count; i++)
            {
                DataTransfer equipData = new DataTransfer();
                equipData.SetData(ConstDefine.GameLevelGoodsId, equipEnitys[i].GoodsId);
                equipData.SetData(ConstDefine.GameLevelGoodsName, equipEnitys[i].GoodsName);
                equipData.SetData(ConstDefine.GameLevelGoodsProbability, equipEnitys[i].GoodsProbability);
                equipData.SetData(ConstDefine.GameLevelGoodsCount, equipEnitys[i].GoodsCount);
                equipDatas.Add(equipData);
            }
        }

        //道具
        List <DataTransfer> itemDatas  = new List <DataTransfer>();
        List <GoodsEntity>  itemEnitys = gradeEnitiy.RewardItemList;

        if (itemEnitys != null && itemEnitys.Count > 0)
        {
            itemEnitys.Sort((GoodsEntity entity1, GoodsEntity entity2) =>
            {
                if (entity1.GoodsProbability > entity2.GoodsProbability)
                {
                    return(-1);
                }
                else if (entity1.GoodsProbability == entity2.GoodsProbability)
                {
                    return(0);
                }
                else
                {
                    return(1);
                }
            });
            for (int i = 0; i < itemEnitys.Count; i++)
            {
                DataTransfer itemData = new DataTransfer();
                itemData.SetData(ConstDefine.GameLevelGoodsId, itemEnitys[i].GoodsId);
                itemData.SetData(ConstDefine.GameLevelGoodsName, itemEnitys[i].GoodsName);
                itemData.SetData(ConstDefine.GameLevelGoodsProbability, itemEnitys[i].GoodsProbability);
                itemData.SetData(ConstDefine.GameLevelGoodsCount, itemEnitys[i].GoodsCount);
                itemDatas.Add(itemData);
            }
        }
        //材料
        List <DataTransfer> materiaDatas  = new List <DataTransfer>();
        List <GoodsEntity>  materiaEnitys = gradeEnitiy.RewardMateriaList;

        if (materiaEnitys != null && materiaEnitys.Count > 0)
        {
            materiaEnitys.Sort((GoodsEntity entity1, GoodsEntity entity2) =>
            {
                if (entity1.GoodsProbability > entity2.GoodsProbability)
                {
                    return(-1);
                }
                else if (entity1.GoodsProbability == entity2.GoodsProbability)
                {
                    return(0);
                }
                else
                {
                    return(1);
                }
            });
            for (int i = 0; i < materiaEnitys.Count; i++)
            {
                DataTransfer materiaData = new DataTransfer();
                materiaData.SetData(ConstDefine.GameLevelGoodsId, materiaEnitys[i].GoodsId);
                materiaData.SetData(ConstDefine.GameLevelGoodsName, materiaEnitys[i].GoodsName);
                materiaData.SetData(ConstDefine.GameLevelGoodsProbability, materiaEnitys[i].GoodsProbability);
                materiaData.SetData(ConstDefine.GameLevelGoodsCount, materiaEnitys[i].GoodsCount);
                materiaDatas.Add(materiaData);
            }
        }

        data.SetData(ConstDefine.GameLevelRewardEquip, equipDatas);
        data.SetData(ConstDefine.GameLevelRewardItem, itemDatas);
        data.SetData(ConstDefine.GameLevelRewardMaterial, materiaDatas);

        data.SetData(ConstDefine.GameLevelRewardGold, gradeEnitiy.Gold);
        data.SetData(ConstDefine.GameLevelRewardExp, gradeEnitiy.Exp);
        data.SetData(ConstDefine.GameLevelDesc, gradeEnitiy.Desc);
        data.SetData(ConstDefine.GameLevelConditionDesc, gradeEnitiy.ConditionDesc);
        data.SetData(ConstDefine.GameLevelCommendFighting, gradeEnitiy.CommendFighting);
        m_GameLevelDetailsView.SetUI(data);
    }