public void SetAchievementTip(AchievementData _data) { AchievementRef achieveRef = ConfigMng.Instance.GetAchievementRef(_data.AchieveId); if (achieveRef != null && nameLabel != null) { nameLabel.text = achieveRef.levelName; } UIEventListener.Get(this.gameObject).onClick = delegate { DestroyImmediate(this.gameObject); NewRankingWnd rankWnd = GameCenter.uIMng.GetGui <NewRankingWnd>(); if (rankWnd == null) { GameCenter.uIMng.SwitchToSubUI(SubGUIType.ACHIEVEMENT); } }; }
/// <summary> /// 获得成就达到的奖励领取状态 /// </summary> protected void S2C_AchievementRewardState(Pt _msg) { pt_update_achievement_reward_d767 msg = _msg as pt_update_achievement_reward_d767; if (msg != null) { isGetAchieve = true; for (int i = 0; i < msg.achievement_reward.Count; i++) { achievement_reward data = msg.achievement_reward[i]; if (achievementTogRed.ContainsKey(data.id) && data.state == 1) { achievementTogRed.Remove(data.id); } AchievementRef achievementRef = ConfigMng.Instance.GetAchievementRef(data.id); currentAchievementNum = data.num; if (curhaveAchieve.ContainsKey(msg.achievement_reward[i].id)) { AchievementData info = curhaveAchieve[data.id] as AchievementData; if (info != null) { info.Update(data); } //SetRedPoint(); } else if (data.new_or_old == 1)//新达成成就 { AchievementData info = new AchievementData(data); curhaveAchieve[info.AchieveId] = info; if (OnGetNewAchievement != null) { OnGetNewAchievement(info); } SetRedPoint(); } else if (data.state == 1)//退出游戏重进已领取的成就 { AchievementData info = new AchievementData(data); curhaveAchieve[info.AchieveId] = info; } else if (data.id >= 41 && data.id <= 55)//退出游戏重进,已达成的成就,但是没有领取 { if (data.num >= 1) { AchievementData info = new AchievementData(data); curhaveAchieve[info.AchieveId] = info; } } else if (achievementRef != null && achievementRef.judgeNum2 != 0) { if (data.num >= achievementRef.judgeNum2) { AchievementData info = new AchievementData(data); curhaveAchieve[info.AchieveId] = info; } } else if (achievementRef != null && data.num >= achievementRef.judgeNum1) { AchievementData info = new AchievementData(data); curhaveAchieve[info.AchieveId] = info; } } } if (OnAchievementUpdate != null) { OnAchievementUpdate(); } }
private void UnlockAchievementInAchievementMenu() { AchievementRef.GetComponent <Image>().sprite = AchievementManagerUI.Instance.UnlockedAchievementSprite; AchievementRef.transform.SetSiblingIndex(0); }
public void SetAchievementItemData(AchievementRef _data, int _index) { if (getBtn != null) { UIEventListener.Get(getBtn.gameObject).onClick = delegate { GameCenter.achievementMng.C2S_ReqGetReward(_data.id); } } ; if (nameTitle != null) { nameTitle.text = _data.levelName; } if (chenHaoName != null && chenHao != null) { if (_data.titleName != "0") { chenHao.gameObject.SetActive(true); chenHaoName.gameObject.SetActive(true); chenHaoName.text = _data.titleName; } else { chenHao.gameObject.SetActive(false); chenHaoName.gameObject.SetActive(false); } } string[] str = null; //已拥有的成就数量 achievementNum = 0; switch (_index) { case (int)AchievementType.COIN: //铜钱 if (GameCenter.achievementMng.currentAchievementNum >= _data.judgeNum1) { isReach = true; str = new string[1] { _data.judgeNum1.ToString() }; } else { isReach = false; str = new string[1] { "[ff0000]" + GameCenter.achievementMng.currentAchievementNum + "[-]" }; } break; case (int)AchievementType.LEV: //道行 if (_data.judgeNum2 == 0) { if (GameCenter.mainPlayerMng.MainPlayerInfo.CurLevel >= _data.judgeNum1) { isReach = true; str = new string[1] { ConfigMng.Instance.GetLevelDes(_data.judgeNum1) }; } else { isReach = false; str = new string[1] { "[ff0000]" + ConfigMng.Instance.GetLevelDes(GameCenter.mainPlayerMng.MainPlayerInfo.CurLevel) + "[-]" }; } } break; case (int)AchievementType.FIGHT: //修为 if (_data.judgeNum2 == 0) { if (GameCenter.mainPlayerMng.MainPlayerInfo.FightValue >= _data.judgeNum1) { isReach = true; str = new string[1] { _data.judgeNum1.ToString() }; } else { isReach = false; str = new string[1] { "[ff0000]" + GameCenter.mainPlayerMng.MainPlayerInfo.FightValue + "[-]" }; } if (dic.ContainsKey(_data.id) || GameCenter.achievementMng.achievementTogRed.ContainsKey(_data.id)) { isReach = true; str = new string[1] { _data.judgeNum1.ToString() }; } } break; case (int)AchievementType.SKILLLEV: //术法 List <SkillInfo> list = GameCenter.skillMng.GetOwnSkill(); for (int i = 0; i < list.Count; i++) { SkillInfo info = list[i]; if (info.SkillLv >= _data.judgeNum1) { achievementNum++; } } if (achievementNum >= _data.judgeNum2) { isReach = true; str = new string[1] { _data.judgeNum2.ToString() }; } else { isReach = false; str = new string[1] { "[ff0000]" + achievementNum + "[-]" }; } break; case (int)AchievementType.STRENTHEQULEV: //强化 foreach (EquipmentInfo info in GameCenter.inventoryMng.GetPlayerEquipList().Values) //穿在身上的装备 { if (info.UpgradeLv >= _data.judgeNum1) { achievementNum++; } } if (achievementNum >= _data.judgeNum2) { isReach = true; str = new string[1] { _data.judgeNum2.ToString() }; } else { isReach = false; str = new string[1] { "[ff0000]" + achievementNum + "[-]" }; } if (dic.ContainsKey(_data.id) || GameCenter.achievementMng.achievementTogRed.ContainsKey(_data.id)) { isReach = true; str = new string[1] { _data.judgeNum2.ToString() }; } break; case (int)AchievementType.EQULEV: //淬炼 foreach (EquipmentInfo info in GameCenter.inventoryMng.GetPlayerEquipList().Values) { if (info.LV >= _data.judgeNum1) { achievementNum++; } } if (achievementNum >= _data.judgeNum2) { isReach = true; str = new string[1] { _data.judgeNum2.ToString() }; } else { isReach = false; str = new string[1] { "[ff0000]" + achievementNum + "[-]" }; } if (dic.ContainsKey(_data.id) || GameCenter.achievementMng.achievementTogRed.ContainsKey(_data.id)) { isReach = true; str = new string[1] { _data.judgeNum2.ToString() }; } break; case (int)AchievementType.GEM: //宝石 achievementNum = GameCenter.inventoryMng.GetPlayerInlayGemNumByLv(_data.judgeNum1); if (achievementNum >= _data.judgeNum2) { isReach = true; str = new string[1] { achievementNum.ToString() }; } else { isReach = false; str = new string[1] { "[ff0000]" + achievementNum + "[-]" }; } if (dic.ContainsKey(_data.id) || GameCenter.achievementMng.achievementTogRed.ContainsKey(_data.id)) { isReach = true; str = new string[1] { achievementNum.ToString() }; } break; case (int)AchievementType.SOPHISTICATION: //洗练 achievementNum = GameCenter.inventoryMng.GetWashAttrNumByQuality(); if (achievementNum >= _data.judgeNum1) { isReach = true; str = new string[1] { _data.judgeNum1.ToString() }; } else { isReach = false; str = new string[1] { "[ff0000]" + achievementNum + "[-]" }; } if (dic.ContainsKey(_data.id) || GameCenter.achievementMng.achievementTogRed.ContainsKey(_data.id)) { isReach = true; str = new string[1] { _data.judgeNum1.ToString() }; } break; case (int)AchievementType.PETGRROW: //宠物成长 achievementNum = GameCenter.mercenaryMng.GetPetGrowUp(PetPropertyType.GROWUP, _data.judgeNum1); if (achievementNum >= 1) { isReach = true; str = new string[1] { "1" }; } else { isReach = false; str = new string[1] { "[ff0000]" + achievementNum + "[-]" }; } if (dic.ContainsKey(_data.id) || GameCenter.achievementMng.achievementTogRed.ContainsKey(_data.id)) { isReach = true; str = new string[1] { "1" }; } break; case (int)AchievementType.PETSPIRITUAL: //宠物灵修 if (dic.ContainsKey(_data.id)) { isReach = true; str = new string[1] { "1" }; } else { isReach = false; str = new string[1] { "[ff0000]0[-]" }; } //if (dic.ContainsKey(_data.id) || GameCenter.achievementMng.achievementTogRed.ContainsKey(_data.id)) //{ // isReach = true; // str = new string[1] { "1" }; //} break; case (int)AchievementType.APTITUDE: //宠物资质 achievementNum = GameCenter.mercenaryMng.GetPetGrowUp(PetPropertyType.APTITUDE, _data.judgeNum1); if (achievementNum >= 1) { isReach = true; str = new string[1] { "1" }; } else { isReach = false; str = new string[1] { "[ff0000]" + achievementNum + "[-]" }; } if (dic.ContainsKey(_data.id) || GameCenter.achievementMng.achievementTogRed.ContainsKey(_data.id)) { isReach = true; str = new string[1] { "1" }; } break; case (int)AchievementType.MOUNT: //坐骑 achievementNum = GameCenter.newMountMng.CurLev > 0 ? GameCenter.newMountMng.CurLev : 0; RidePropertyRef mountRef = ConfigMng.Instance.GetMountPropertyRef(achievementNum); if (achievementNum >= _data.judgeNum1) { isReach = true; RidePropertyRef mountAcRef = ConfigMng.Instance.GetMountPropertyRef(_data.judgeNum1); if (mountAcRef != null) { str = new string[1] { mountAcRef.name } } ; } else { isReach = false; if (mountRef != null) { str = new string[1] { "[ff0000]" + mountRef.name + "[-]" } } ; else { str = new string[1] { "[ff0000]" + achievementNum + "[-]" + "阶" + "[ff0000]" + achievementNum + "[-]" + "星" } }; } break; case (int)AchievementType.COPY: //副本 if (GameCenter.achievementMng.currentAchievementNum >= _data.judgeNum1) { isReach = true; str = new string[1] { _data.judgeNum1.ToString() }; } else { isReach = false; str = new string[1] { "[ff0000]" + GameCenter.achievementMng.currentAchievementNum + "[-]" }; } break; case (int)AchievementType.LABOUR: //仙盟 if (GameCenter.achievementMng.currentAchievementNum >= _data.judgeNum1) { isReach = true; str = new string[1] { _data.judgeNum1.ToString() }; } else { isReach = false; str = new string[1] { "[ff0000]" + GameCenter.achievementMng.currentAchievementNum + "[-]" }; } break; case (int)AchievementType.FASHION: //时装 if (GameCenter.achievementMng.currentAchievementNum >= _data.judgeNum1) { isReach = true; str = new string[1] { _data.judgeNum1.ToString() }; } else { isReach = false; str = new string[1] { "[ff0000]" + GameCenter.achievementMng.currentAchievementNum + "[-]" }; } break; default: isReach = false; break; } if (dic.ContainsKey(_data.id)) { if ((dic[_data.id] as AchievementData).RewardState) { isGetReward = true; } else { isGetReward = false; } } else { isGetReward = false; } if (achievementLabel != null) { achievementLabel.text = UIUtil.Str2Str(_data.des, str); } if (isReach && !isGetReward)//达到领取状态 { if (notComplete != null) { notComplete.gameObject.SetActive(false); } if (getBtn != null) { getBtn.gameObject.SetActive(true); } if (complete != null) { complete.gameObject.SetActive(false); } if (completeSp != null) { completeSp.gameObject.SetActive(true); } } else if (!isReach && !isGetReward) { if (notComplete != null) { notComplete.gameObject.SetActive(true); } if (getBtn != null) { getBtn.gameObject.SetActive(false); } if (complete != null) { complete.gameObject.SetActive(false); } if (completeSp != null) { completeSp.gameObject.SetActive(false); } } if (isGetReward)//已领奖 { if (notComplete != null) { notComplete.gameObject.SetActive(false); } if (getBtn != null) { getBtn.gameObject.SetActive(false); } if (complete != null) { complete.gameObject.SetActive(true); } if (completeSp != null) { completeSp.gameObject.SetActive(true); } } } #endregion }