public void SetIcon(long achId, long[] preIds, string iconKey, string preData) { GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData(); bool isAllPre = PreTypeEnumTools.CheckIsAllPre(gameData, gameData.userCharacter, preData, out string reason); if (ivIcon == null || ivBackground == null) { return; } //检测是否拥有该成就 bool hasAch = gameData.GetAchievementData().CheckHasAchievement(achId); if (hasAch) { SetAchStatus(AchievementStatusEnum.Completed); return; } //检测前置成就 if (CheckUtil.ArrayIsNull(preIds)) { //检测是否符合条件 if (isAllPre) { SetAchStatus(AchievementStatusEnum.ToBeConfirmed); } else { SetAchStatus(AchievementStatusEnum.Processing); } } else { bool hasPre = gameData.GetAchievementData().CheckHasAchievement(preIds); if (hasPre) { //检测是否符合条件 if (isAllPre) { SetAchStatus(AchievementStatusEnum.ToBeConfirmed); } else { SetAchStatus(AchievementStatusEnum.Processing); } } else { SetAchStatus(AchievementStatusEnum.UnKnown); } } }
/// <summary> /// 设置技能数据 /// </summary> /// <param name="listData"></param> public void SetSkillInfoData(List <SkillInfoBean> listData) { if (listData == null || listData.Count == 0) { ToastHandler.Instance.ToastHint(ivIcon.sprite, TextHandler.Instance.manager.GetTextById(1065)); return; } SkillInfoBean skillInfo = listData[0]; GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData(); bool isPre = PreTypeEnumTools.CheckIsAllPre(gameData, characterData, skillInfo.pre_data, out string reason); if (!isPre) { ToastHandler.Instance.ToastHint(ivIcon.sprite, reason); } else { //学习该技能 characterData.attributes.LearnSkill(itemsInfoData.add_id); string toastStr = string.Format(TextHandler.Instance.manager.GetTextById(1064), characterData.baseInfo.name, itemsInfoData.name); ToastHandler.Instance.ToastHint(ivIcon.sprite, toastStr); RefreshItems(itemsInfoData.id, -1); } }