void Start() { int progress = 0, i = 0; foreach (var v in AchieveConfiguration.achieveDictionary) { i++; AchieveItem item = SupportTools.AddChild <AchieveItem>(m_Root.gameObject, m_AchieveItemPrefab.gameObject); int id = v.Key; item.achieveName.text = v.Value.name; item.description.text = v.Value.DescriptionID.ToString(); item.achieveIcon.sprite = Resources.Load <Sprite>("UI/LaunchScene/AchieveIcon/" + v.Value.IconName); if (ConstantData.achieveRecords[id] < v.Value.goal) { item.progress.gameObject.SetActive(true); item.finishFlag.gameObject.SetActive(false); item.progress.text = ConstantData.achieveRecords[id] + "/" + v.Value.goal; item.backGround = Color.gray; } else { item.progress.gameObject.SetActive(false); item.finishFlag.gameObject.SetActive(true); item.backGround = Color.white; progress++; } } m_Progress.text = progress + "/" + AchieveConfiguration.achieveDictionary.Count; m_Root.GetComponent <RectTransform>().sizeDelta = new Vector2(m_Root.cellSize.x, i * m_Root.cellSize.y + (i - 1) * m_Root.spacing.y); }
public void UpdateFinishAchievementDate() { if (WindObj == null) { return; } if (WindObj.activeSelf != true) { return; } if (m_AchieveSate == Achieve_State.Achieve_UnFinish) { return; } ClearGrid(); m_AchieveList.Clear(); m_ScrollTrans.localPosition = new Vector3(0, 55, 0); m_UIPanel.clipOffset = new Vector2(0, -110); m_UIScrollView.ResetPosition(); int indx = 0; foreach (KeyValuePair <byte, tagAchievementConfig> map in FishConfig.Instance.m_AchievementInfo.m_AchievementMap) { if (!int256Function.GetBitStates(PlayerRole.Instance.RoleInfo.RoleMe.GetAchievementStates(), map.Key)) { continue; } if (map.Value.UpperAchievementID != 0 && int256Function.GetBitStates(PlayerRole.Instance.RoleInfo.RoleMe.GetAchievementStates(), map.Value.UpperAchievementID)) { continue; } AchieveItem item = new AchieveItem(false); item.Init(m_BaseItem); tagAchievementStrInfo achievementStrInfo = FishConfig.Instance.m_AchievementInfo.m_AchievementStr[map.Value.AchievementID]; string strDesc = achievementStrInfo.AchievementDec; string strName = achievementStrInfo.AchievementName; int starNum = achievementStrInfo.AchievementStar; uint AchieveValueMax = map.Value.AchievementEventInfo.FinishValue; item.AchieveID = map.Value.AchievementID; tagRewardOnce pReward = FishConfig.Instance.GetRewardOnceByID(map.Value.RewardID); if (pReward == null) { continue; } item.ShowAchievementInfo(strDesc, strName, achievementStrInfo.AchievementIcon, pReward, starNum + 1); item.UpdateAchievementProgress(AchieveValueMax, AchieveValueMax); m_UIGrid[indx % 2].AddChild(item.m_BaseTrans); item.ResetScale(); m_AchieveList.Add(item); ++indx; } }
public override void Init(int width, int height) { base.Init(width, height); achieveControls = new AchieveItem[15]; for (int i = 0; i < 15; i++) { achieveControls[i] = new AchieveItem(this, 75 + (i % 3) * 180, 35 + (i / 3) * 77, 180, 77); achieveControls[i].Init(i); } ChangeType(1); }
static int CompareItemBySate(AchieveItem item1, AchieveItem item2) { if (item1.bFinish && !item2.bFinish) { return(-1); } else if (!item1.bFinish && item2.bFinish) { return(1); } else { return(0); } }
AchievementConfig() { string [] names = { "new", "waning", "crescent", "third quarter", "waning gibbous", "full", "waxing gibbous", "first quarter", "waxing cresent" }; for (int i = 1; i <= 8; ++i) { AchieveItem achieveItem = new AchieveItem(); achieveItem.condition = Condition.CLEAR_BY_TYPE; achieveItem.id = i; achieveItem.name = names[i - 1]; achieveItem.parameters = new int[] { i - 1 }; _achieveItems[achieveItem.id] = achieveItem; _achieveItemList.Add(achieveItem); } _achieveItems[7].initFinished = true; _achieveItems[8].initFinished = true; foreach (AchieveItem achieveItem in _achieveItemList) { if (_achieveGroupByConditon[achieveItem.condition] == null) { _achieveGroupByConditon[achieveItem.condition] = new ArrayList(); } ArrayList achievesOnThisCondition = (ArrayList)_achieveGroupByConditon[achieveItem.condition]; achievesOnThisCondition.Add(achieveItem); } }
void InitAchieveItem(RoleAchievementBase Value, int indx) { AchieveItem item = new AchieveItem(true); item.Init(m_BaseItem); tagAchievementStrInfo achievementStrInfo = FishConfig.Instance.m_AchievementInfo.m_AchievementStr[Value.pConfig.AchievementID]; item.AchieveID = Value.pConfig.AchievementID; string strDesc = achievementStrInfo.AchievementDec; string strName = achievementStrInfo.AchievementName; int starNum = achievementStrInfo.AchievementStar; uint curAchieveValue = PlayerRole.Instance.AchievementManager.GetAchievement(Value.pConfig.AchievementID).pAchievementInfo.AchievementValue; uint AchieveValueMax = Value.pConfig.AchievementEventInfo.FinishValue; tagRewardOnce pReward = FishConfig.Instance.GetRewardOnceByID(Value.pConfig.RewardID); if (pReward == null) { return; } item.ShowAchievementInfo(strDesc, strName, achievementStrInfo.AchievementIcon, pReward, starNum); item.UpdateAchievementProgress(curAchieveValue, AchieveValueMax, Value.m_AchievementEventIsFinish); m_AchieveList.Add(item); }
public void UpdateOnlyAchievementDate(byte achieveID) { if (WindObj == null) { return; } if (WindObj.activeSelf != true) { return; } if (PlayerRole.Instance.AchievementManager.GetAchievementArray() == null) { return; } for (byte i = 0; i < m_AchieveList.Count;) { if (m_AchieveList[i].AchieveID == achieveID) { if (PlayerRole.Instance.AchievementManager.GetAchievementArray().ContainsKey(achieveID) == false) { if (int256Function.GetBitStates(PlayerRole.Instance.RoleInfo.RoleMe.GetAchievementStates(), achieveID)) { string strTips = string.Format(StringTable.GetString("Finish_Achievement"), FishConfig.Instance.m_AchievementInfo.m_AchievementStr[achieveID].AchievementName); GlobalHallUIMgr.Instance.ShowSystemTipsUI(strTips, 1, true); } AchieveItem item = m_AchieveList[i]; m_UIGrid[i % 2].RemoveChild(item.m_BaseTrans); item.ShutDown(); Utility.ListRemoveAt(m_AchieveList, i); } else { uint curAchieveValue = PlayerRole.Instance.AchievementManager.GetAchievement(achieveID).pAchievementInfo.AchievementValue; uint AchieveValueMax = PlayerRole.Instance.AchievementManager.GetAchievementArray()[achieveID].pConfig.AchievementEventInfo.FinishValue; tagRewardOnce pReward = FishConfig.Instance.GetRewardOnceByID(PlayerRole.Instance.AchievementManager.GetAchievementArray()[achieveID].pConfig.RewardID); if (pReward == null) { continue; } ; //if (pReward.RewardTitleID == 0) // bHaveName = false; //if (FishConfig.Instance.m_TitleInfo.m_TileMap.ContainsKey( pReward.RewardTitleID) == false) // bHaveName = false; if (curAchieveValue >= AchieveValueMax) { m_AchieveList[i].UpdateAchievementProgress(curAchieveValue, AchieveValueMax, true); } else { m_AchieveList[i].UpdateAchievementProgress(curAchieveValue, AchieveValueMax); } } break; } else { ++i; //新增一个成就 if ((i == m_AchieveList.Count) && (PlayerRole.Instance.AchievementManager.GetAchievementArray().ContainsKey(achieveID) == true)) { // InitAchieveItem(PlayerRole.Instance.AchievementManager.GetAchievementArray()[achieveID], m_AchieveList.Count); UpdateAchievementDate(); } } } }