private void ClearResourceList() { foreach (CampsiteUI_ResourceItemUI obj in m_ResourceItemList) { ResourceItemUI.CacheInstance(obj); } m_ResourceItemList.Clear(); }
private void FreshNodeInfo() { string[] curConsume = Global.gApp.gGameData.GeneralConfigData.Get(GeneralConfigConstVal.CAMP_NPC_DAY_COST).contents; string maxDayStr = Global.gApp.gGameData.GeneralConfigData.Get(GeneralConfigConstVal.CAMP_NPC_MAX_STORE_DAY).content; double maxDayD = double.Parse(maxDayStr); int curId = 0; SortedDictionary <int, double> maxCousumeCountMap = new SortedDictionary <int, double>(); Dictionary <string, ItemDTO> npcMap = m_NpcMgr.NpcMap; double totlaNpcNum = 0; double totalNotFreshNpcNum = 0; foreach (KeyValuePair <string, ItemDTO> kvValue in npcMap) { totlaNpcNum += kvValue.Value.num; ItemItem itemCfg = Global.gApp.gGameData.ItemData.Get(kvValue.Value.itemId); CampNpcItem cfg = Global.gApp.gGameData.CampNpcConfig.Get(itemCfg.name); if (cfg.notFresh == 1) { totalNotFreshNpcNum += kvValue.Value.num; } } for (int i = 0; i < curConsume.Length; i += 2) { curId = int.Parse(curConsume[i]); double curMat = totlaNpcNum * double.Parse(curConsume[i + 1]) * maxDayD; maxCousumeCountMap[curId] = curMat; } // npc人数 CurNpcNum.text.text = ((int)totlaNpcNum).ToString(); string[] maxNpcNum = Global.gApp.gGameData.GeneralConfigData.Get(GeneralConfigConstVal.CAMP_MAX_NUM).contents; int campLv = m_NpcMgr.CalCampLevel(); MaxNpcNum.text.text = (int.Parse(maxNpcNum[2 * campLv - 1]) + Global.gApp.gGameData.NotFreshNpcList.Count).ToString(); FreshBuild(); FreshCakeBuild(); FreshCampLvState(); FreshRecycleAndResState(); FreshTaskIconState(); string[] levelNames = Global.gApp.gGameData.GeneralConfigData.Get(GeneralConfigConstVal.CAMP_LEVELS).contents; CampName.text.text = Global.gApp.gGameData.GetTipsInCurLanguage(int.Parse(levelNames[campLv - 1])); double totalCount = 0d; double totalMaxCount = 0d; ResourceItemUI.gameObject.SetActive(false); ClearResourceList(); foreach (int id in maxCousumeCountMap.Keys) { double curV = GameItemFactory.GetInstance().GetItem(id); double maxV = maxCousumeCountMap[id]; totalCount += curV; totalMaxCount += maxV; ItemItem itemCfg = Global.gApp.gGameData.ItemData.Get(id); CampsiteUI_ResourceItemUI itemUI = ResourceItemUI.GetInstance(); itemUI.gameObject.SetActive(true); itemUI.Materials.image.sprite = Global.gApp.gResMgr.LoadAssets <Sprite>(itemCfg.image_grow); itemUI.Amount.text.text = System.Math.Ceiling(curV).ToString("0.##") + "/" + System.Math.Ceiling(maxV).ToString("0.##"); itemUI.transform.SetSiblingIndex(id); m_ResourceItemList.Add(itemUI); } int index = -1; if (totalMaxCount > 0) { double rata = (totalCount / (totalMaxCount)) * 100; string[] stateJudge = Global.gApp.gGameData.GeneralConfigData.Get(GeneralConfigConstVal.CAMP_NPC_HEATH_DEFINITION).contents; for (int i = 0; i < stateJudge.Length; i++) { if (rata <= double.Parse(stateJudge[i])) { index = i; break; } } if (index < 0) { index = stateJudge.Length; } } else { index = 0; } string[] stateIds = Global.gApp.gGameData.GeneralConfigData.Get(GeneralConfigConstVal.CAMP_NPC_HEATH_NAME).contents; CmpState.text.text = Global.gApp.gGameData.GetTipsInCurLanguage(int.Parse(stateIds[index])); if (index == 0) { CmpState.text.color = new Color(255.0f / 255, 39.0f / 255, 39.0f / 255); } else if (index == 1) { CmpState.text.color = new Color(255.0f / 255, 234.0f / 255, 99.0f / 255); } else if (index == 2) { CmpState.text.color = new Color(183.0f / 255, 245.0f / 255, 60.0f / 255); } }
private void InitNode() { string[] curConsume = Global.gApp.gGameData.GeneralConfigData.Get(GeneralConfigConstVal.CAMP_NPC_DAY_COST).contents; string maxDayStr = Global.gApp.gGameData.GeneralConfigData.Get(GeneralConfigConstVal.CAMP_NPC_MAX_STORE_DAY).content; double maxDayD = double.Parse(maxDayStr); int curId = 0; SortedDictionary <int, double> maxCousumeCountMap = new SortedDictionary <int, double>(); Dictionary <string, ItemDTO> npcMap = Global.gApp.gSystemMgr.GetNpcMgr().NpcMap; double totlaNpcNum = 0; foreach (KeyValuePair <string, ItemDTO> kvValue in npcMap) { totlaNpcNum += kvValue.Value.num; } for (int i = 0; i < curConsume.Length; i += 2) { curId = int.Parse(curConsume[i]); double curMat = totlaNpcNum * double.Parse(curConsume[i + 1]) * maxDayD; maxCousumeCountMap[curId] = curMat; } double totalCount = 0d; double totalMaxCount = 0d; ResourceItemUI.gameObject.SetActive(false); foreach (int id in maxCousumeCountMap.Keys) { double curV = GameItemFactory.GetInstance().GetItem(id); double maxV = maxCousumeCountMap[id]; totalCount += curV; totalMaxCount += maxV; ItemItem itemCfg = Global.gApp.gGameData.ItemData.Get(id); CampResourcesDetailUI_ResourceItemUI itemUI = ResourceItemUI.GetInstance(); itemUI.gameObject.SetActive(true); itemUI.Materials.image.sprite = Global.gApp.gResMgr.LoadAssets <Sprite>(itemCfg.image_grow); itemUI.Progress.image.fillAmount = Convert.ToSingle(curV / maxV); itemUI.IName.text.text = Global.gApp.gGameData.GetTipsInCurLanguage(itemCfg.sourceLanguage); itemUI.Amount.text.text = Math.Ceiling(curV).ToString("0.##") + "/" + Math.Ceiling(maxV).ToString("0.##"); itemUI.ConsumeADayAmount.text.text = (maxV / maxDayD).ToString("0.#"); itemUI.MaintainedDaysAmount.text.text = ((curV * maxDayD) / maxV).ToString("0.#"); itemUI.transform.SetSiblingIndex(id); } int index = -1; if (totalMaxCount > 0) { double rata = (totalCount / (totalMaxCount)) * 100; string[] stateJudge = Global.gApp.gGameData.GeneralConfigData.Get(GeneralConfigConstVal.CAMP_NPC_HEATH_DEFINITION).contents; for (int i = 0; i < stateJudge.Length; i++) { if (rata <= double.Parse(stateJudge[i])) { index = i; break; } } if (index < 0) { index = stateJudge.Length; } } else { index = 0; } string[] stateIds = Global.gApp.gGameData.GeneralConfigData.Get(GeneralConfigConstVal.CAMP_NPC_HEATH_NAME).contents; DName.text.text = Global.gApp.gGameData.GetTipsInCurLanguage(int.Parse(stateIds[index])); if (index == 0) { DName.text.color = new Color(255.0f / 255, 39.0f / 255, 39.0f / 255); } else if (index == 1) { DName.text.color = new Color(255.0f / 255, 234.0f / 255, 99.0f / 255); } else if (index == 2) { DName.text.color = new Color(183.0f / 255, 245.0f / 255, 60.0f / 255); } string[] dws = Global.gApp.gGameData.GeneralConfigData.Get(GeneralConfigConstVal.CAMP_SOURCE_HEALTH_DETAIL_WORD).contents; Text.text.text = Global.gApp.gGameData.GetTipsInCurLanguage(int.Parse(dws[index])); CloseBtn.button.onClick.AddListener(TouchClose); KnowBtn.button.onClick.AddListener(TouchClose); }