コード例 #1
0
    /// <summary>
    /// 提交按钮
    /// </summary>
    public void OnClickSubmit()
    {
        UIGameText   uiGameText = (UIGameText)uiComponent;
        GameDataBean gameData   = GameDataHandler.Instance.manager.GetGameData();

        AudioHandler.Instance.PlaySound(AudioSoundEnum.ButtonForNormal);
        //检测是否启用小游戏
        if (CheckUtil.StringIsNull(textData.pre_data_minigame))
        {
            List <PreTypeBean> listPre = PreTypeEnumTools.GetListPreData(textData.pre_data);
            foreach (PreTypeBean itemPreData in listPre)
            {
                PreTypeEnumTools.GetPreDetails(itemPreData, gameData);
                if (!itemPreData.isPre)
                {
                    ToastHandler.Instance.ToastHint(itemPreData.spPreIcon, itemPreData.preFailStr);
                    return;
                }
            }
            //完成前置条件
            PreTypeEnumTools.CompletePre(listPre, gameData);
            //完成所有奖励
            RewardTypeEnumTools.CompleteReward(null, textData.reward_data);
            uiGameText.SelectText(textData);
        }
        else
        {
            DialogBean dialogBean = new DialogBean();
            PickForCharacterDialogView dialogView = DialogHandler.Instance.CreateDialog <PickForCharacterDialogView>(DialogEnum.PickForCharacter, this, dialogBean);
            PreTypeForMiniGameEnumTools.GetPlayerNumber(textData.pre_data_minigame, out int playerNumber);
            dialogView.SetPickCharacterMax(playerNumber);
        }
    }
コード例 #2
0
    /// <summary>
    /// 设置成就达成条件
    /// </summary>
    /// <param name="data"></param>
    public void SetAchieve(AchievementStatusEnum status, AchievementInfoBean data)
    {
        CptUtil.RemoveChildsByActive(objAchieveContent.transform);
        if (data == null)
        {
            return;
        }
        List <PreTypeBean> listPreData = PreTypeEnumTools.GetListPreData(data.pre_data);
        GameDataBean       gameData    = GameDataHandler.Instance.manager.GetGameData();

        foreach (var itemPreData in listPreData)
        {
            if (status == AchievementStatusEnum.Completed)
            {
                PreTypeEnumTools.GetPreDetails(itemPreData, gameData, true);
            }
            else
            {
                PreTypeEnumTools.GetPreDetails(itemPreData, gameData, false);
            }
            string preDes   = itemPreData.preDescribe;
            float  progress = itemPreData.progress;
            CreateAchieveItem(preDes, progress);
        }
    }
コード例 #3
0
    /// <summary>
    /// 创建前置数据
    /// </summary>
    /// <param name="preData"></param>
    public void CreatePreDataItem(string preData)
    {
        List <PreTypeBean> listPreData = PreTypeEnumTools.GetListPreData(preData);
        GameDataBean       gameData    = GameDataHandler.Instance.manager.GetGameData();

        foreach (var itemData in listPreData)
        {
            GameObject objPre = Instantiate(objPreContainer, objPreModel);
            PreTypeEnumTools.GetPreDetails(itemData, gameData);
            //设置图标
            Sprite spIcon = itemData.spPreIcon;
            Image  ivIcon = CptUtil.GetCptInChildrenByName <Image>(objPre, "Icon");
            ivIcon.sprite = spIcon;
            //设置描述
            string preDes    = itemData.preDescribe;
            Text   tvContent = CptUtil.GetCptInChildrenByName <Text>(objPre, "Text");
            tvContent.text = preDes;
            //设置是否满足条件
            Image ivStatus = CptUtil.GetCptInChildrenByName <Image>(objPre, "Status");
            if (itemData.isPre)
            {
                ivStatus.sprite = spRePre;
                tvContent.color = colorPre;
            }
            else
            {
                isAllPre        = false;
                ivStatus.sprite = spUnPre;
                tvContent.color = colorUnPre;
            }
        }
        GameUtil.RefreshRectViewHight((RectTransform)objPreContainer.transform, true);
        GameUtil.RefreshRectViewHight((RectTransform)transform, true);
    }
コード例 #4
0
    /// <summary>
    /// 提交晋升
    /// </summary>
    public void OnClickSubmit()
    {
        AudioHandler.Instance.PlaySound(AudioSoundEnum.ButtonForNormal);
        GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData();

        if (isAllPre)
        {
            //前置如果有需要临时支付的条件
            PreTypeEnumTools.CompletePre(storeInfo.pre_data, gameData);
            //获取所有奖励
            RewardTypeEnumTools.CompleteReward(null, storeInfo.reward_data);
            //客栈升级
            gameData.innAttributes.SetInnLevelUp();

            ToastHandler.Instance.ToastHint(ivTitleIcon.sprite, TextHandler.Instance.manager.GetTextById(1062));
            UIHandler.Instance.manager.OpenUIAndCloseOther <UIGameMain>(UIEnum.GameMain);

            DialogBean            dialogData        = new DialogBean();
            AchievementDialogView achievementDialog = DialogHandler.Instance.CreateDialog <AchievementDialogView>(DialogEnum.Achievement, this, dialogData);
            achievementDialog.SetData(storeInfo);
        }
        else
        {
            ToastHandler.Instance.ToastHint(TextHandler.Instance.manager.GetTextById(1061));
        }
    }
コード例 #5
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);
            }
        }
    }
コード例 #6
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);
        }
    }