示例#1
0
    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);
            }
        }
    }
示例#2
0
    /// <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);
        }
    }