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