Exemplo n.º 1
0
 public void UpdateYaoNvCondition(SYaoNvCondtionInfo info)
 {
     for (int i = 0; i < m_YaoNvConditionList.Count; i++)
     {
         if (m_YaoNvConditionList[i].byYaoNvID == info.byYaoNvID)
         {
             m_YaoNvConditionList[i] = info;
             break;
         }
     }
 }
Exemplo n.º 2
0
        private void UpdateConditionList(int sirenID)
        {
            var sirenConditionTxt             = m_SirenItemDict[sirenID].GetSirenUnlockTxt();
            var sirenUnolcokCondition         = m_SirenItemDict[sirenID].GetSirenUnlockCondition();
            int txtLength                     = sirenConditionTxt.Length;
            SYaoNvCondtionInfo conditionArray = SirenManager.Instance.GetConditionList().SingleOrDefault(p => (int)p.byYaoNvID == sirenID);

            for (int i = 0; i < m_SirenConditions.Length; i++)
            {
                if (i >= txtLength)
                {
                    m_SirenConditions[i].gameObject.SetActive(false);
                }
                else
                {
                    m_SirenConditions[i].gameObject.SetActive(true);
                    bool isMeet = false;

                    //条件判断

                    switch (sirenUnolcokCondition[i].Type)
                    {
                    case 1:                    //妖女ID+妖女等级
                        var yaoNvList = SirenManager.Instance.GetYaoNvList();
                        for (int j = 0; j < yaoNvList.Count; j++)
                        {
                            if (yaoNvList[j].byYaoNvID == sirenUnolcokCondition[i].Condition1)
                            {
                                if (yaoNvList[j].byLevel >= sirenUnolcokCondition[i].Condition2)
                                {
                                    isMeet = true;
                                }
                                break;
                            }
                        }
                        break;

                    case 2:                    //副本ID+通关次数
                        break;

                    case 3:                    //副本区域ID+通关次数
                        break;

                    case 4:                    //花费元宝数+0
                        int ingot = PlayerManager.Instance.FindHeroDataModel().PlayerValues.PLAYER_FIELD_GOLD_TOTALCOST_VALUE;
                        if (ingot >= sirenUnolcokCondition[i].Condition1)
                        {
                            isMeet = true;
                        }
                        break;

                    case 5:                    //当前战力+0
                        int curCombat = PlayerManager.Instance.FindHeroDataModel().UnitValues.sMsgPropCreateEntity_SC_UnitVisibleValue.UNIT_FIELD_FIGHTING;
                        if (curCombat >= sirenUnolcokCondition[i].Condition1)
                        {
                            isMeet = true;
                        }
                        break;

                    case 6:                    //角色等级+0
                        int level = PlayerManager.Instance.FindHeroDataModel().UnitValues.sMsgPropCreateEntity_SC_UnitVisibleValue.UNIT_FIELD_LEVEL;
                        if (level >= sirenUnolcokCondition[i].Condition1)
                        {
                            isMeet = true;
                        }
                        break;

                    case 7:                    //VIP等级+0
                        int vipLevel = PlayerManager.Instance.FindHeroDataModel().GetCommonValue().PLAYER_FIELD_VISIBLE_VIP;
                        if (vipLevel >= sirenUnolcokCondition[i].Condition1)
                        {
                            isMeet = true;
                        }
                        break;

                    case 8:                    //完成指定副本 由下发数据为准
                        if (conditionArray.byYaoNvID != 0)
                        {
                            isMeet = conditionArray.byCondition[i] == 2;
                        }
                        break;

                    default:
                        isMeet = true;
                        break;
                    }



                    //赋值
                    m_SirenConditions[i].Init(isMeet, LanguageTextManager.GetString(sirenConditionTxt[i]));
                }
            }
        }