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