Example #1
0
    private void Update()
    {
        if (textData == null)
        {
            return;
        }
        if (Input.GetButtonDown(InputInfo.Interactive_E) || Input.GetButtonDown(InputInfo.Confirm))
        {
            if (tweenerText != null && tweenerText.IsActive() && tweenerText.IsPlaying())
            {
                tweenerText.Complete();
                //刷新控件
                if (rtfTextContent != null)
                {
                    GameUtil.RefreshRectViewHight(rtfTextContent, true);
                }
            }
            else
            {
                //当是选择对话 不能跳过
                if (textData.GetTextType() == TextInfoTypeEnum.Select || textData.GetTextType() == TextInfoTypeEnum.Talk)
                {
                }
                else
                {
                    uiComponent.NextText();
                }
            }
        }
        GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData();

        if (tvMoneyL != null)
        {
            tvMoneyL.text = gameData.moneyL + "";
        }
        if (tvMoneyM != null)
        {
            tvMoneyM.text = gameData.moneyM + "";
        }
        if (tvMoneyS != null)
        {
            tvMoneyS.text = gameData.moneyS + "";
        }
    }
Example #2
0
    /// <summary>
    /// 展示文本数据
    /// </summary>
    /// <param name="textData"></param>
    public void ShowText(List <TextInfoBean> textListData)
    {
        if (CheckUtil.ListIsNull(textListData))
        {
            LogUtil.LogWarning("没有查询到相应文本对话数据");
            return;
        }
        currentTextData = textListData[0];
        uiForTalk.Close();
        uiForBook.Close();
        uiForBehind.Close();

        //时停选择 特殊处理
        if (currentTextData.is_stoptime == 1)
        {
            //设置时间彻底停止计时
            GameTimeHandler.Instance.SetTimeStop();
        }
        switch (currentTextData.GetTextType())
        {
        //对话和选择对话
        case TextInfoTypeEnum.Normal:
        case TextInfoTypeEnum.Select:
        case TextInfoTypeEnum.Talk:
            uiForTalk.Open();
            uiForTalk.SetData(currentTextData, textListData);
            break;

        case TextInfoTypeEnum.Book:
            //书本详情
            uiForBook.Open();
            uiForBook.SetData(currentTextData);
            break;

        case TextInfoTypeEnum.Behind:
            //黑幕
            uiForBehind.Open();
            uiForBehind.SetData(currentTextData);
            break;
        }
    }
Example #3
0
    /// <summary>
    /// 文本选择
    /// </summary>
    /// <param name="textData"></param>
    public void SelectText(TextInfoBean textData)
    {
        GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData();

        switch (mTextEnum)
        {
        case TextEnum.Look:
        case TextEnum.Story:
            NextText(textData.next_order);
            break;

        case TextEnum.Talk:
            //不同的对话选项
            //对话
            //如果是对话选项
            if (textData.GetTextType() == TextInfoTypeEnum.Talk)
            {
                if (textData.content.Equals(TextHandler.Instance.manager.GetTextById(99102)))
                {
                    //对话
                    TextInfoHandler.Instance.manager.listTextData = RandomUtil.GetRandomDataByDictionary(TextInfoHandler.Instance.manager.mapTalkNormalData);
                    NextText(1);
                    //增加好感
                    if (GameCommonInfo.DailyLimitData.AddTalkNpc(mTalkNpcInfo.id))
                    {
                        gameData.GetCharacterFavorability(mTalkNpcInfo.id).AddFavorability(1);
                    }
                    //增加数据记录
                    CharacterFavorabilityBean characterFavorability = gameData.GetCharacterFavorability(mTalkNpcInfo.id);
                    characterFavorability.AddTalkNumber(1);
                }
                //退出
                else if (textData.content.Equals(TextHandler.Instance.manager.GetTextById(99103)))
                {
                    NextText();
                }
                //招募
                else if (textData.content.Equals(TextHandler.Instance.manager.GetTextById(99104)))
                {
                    if (gameData.CheckIsMaxWorker())
                    {
                        ToastHandler.Instance.ToastHint(TextHandler.Instance.manager.GetTextById(1051));
                    }
                    else
                    {
                        TextInfoHandler.Instance.manager.listTextData = RandomUtil.GetRandomDataByDictionary(TextInfoHandler.Instance.manager.mapTalkRecruitData);
                        NextText(1);
                    }
                }
                //送礼
                else if (textData.content.Equals(TextHandler.Instance.manager.GetTextById(99105)))
                {
                    DialogBean             dialogData         = new DialogBean();
                    PickForItemsDialogView pickForItemsDialog = DialogHandler.Instance.CreateDialog <PickForItemsDialogView>(DialogEnum.PickForItems, this, dialogData);
                    pickForItemsDialog.SetData(null, ItemsSelectionDialogView.SelectionTypeEnum.Gift);
                }
                //换取公会勋章
                else if (textData.content.Equals(TextHandler.Instance.manager.GetTextById(99201)))
                {
                    //对话
                    TextInfoHandler.Instance.manager.listTextData = RandomUtil.GetRandomDataByDictionary(TextInfoHandler.Instance.manager.mapTalkExchangeData);
                    NextText(1);
                }
                //换取奖杯
                else if (textData.content.Equals(TextHandler.Instance.manager.GetTextById(99202)))
                {
                    //对话
                    TextInfoHandler.Instance.manager.listTextData = RandomUtil.GetRandomDataByDictionary(TextInfoHandler.Instance.manager.mapTalkExchangeData);
                    NextText(1);
                }
                //换取装备
                else if (textData.content.Equals(TextHandler.Instance.manager.GetTextById(99203)))
                {
                    //对话
                    TextInfoHandler.Instance.manager.listTextData = RandomUtil.GetRandomDataByDictionary(TextInfoHandler.Instance.manager.mapTalkExchangeData);
                    NextText(1);
                }
                //换取道具
                else if (textData.content.Equals(TextHandler.Instance.manager.GetTextById(99204)))
                {
                    //对话
                    TextInfoHandler.Instance.manager.listTextData = RandomUtil.GetRandomDataByDictionary(TextInfoHandler.Instance.manager.mapTalkExchangeData);
                    NextText(1);
                }
                //求婚
                else if (textData.content.Equals(TextHandler.Instance.manager.GetTextById(99205)))
                {
                    gameData.CheckHasItems(99900021, out bool hasItems, out long number);
                    //判断是否有信物
                    if (hasItems)
                    {
                        DialogBean dialogData = new DialogBean();
                        dialogData.content = string.Format(TextHandler.Instance.manager.GetTextById(3121), mTalkNpcInfo.name);
                        DialogHandler.Instance.CreateDialog <DialogView>(DialogEnum.Normal, this, dialogData);
                        NextText(textData.next_order);
                    }
                    else
                    {
                        ItemsInfoBean itemsInfo = GameItemsHandler.Instance.manager.GetItemsById(99900021);
                        ToastHandler.Instance.ToastHint(string.Format(TextHandler.Instance.manager.GetTextById(5023), itemsInfo.name, "1"));
                    }
                }
            }
            else
            {
                NextText(textData.next_order);
            }
            break;
        }
    }
Example #4
0
    /// <summary>
    /// 设置数据
    /// </summary>
    /// <param name="textData"></param>
    /// <param name="listTextInfo"></param>
    public void SetData(TextInfoBean textData, List <TextInfoBean> listTextInfo)
    {
        GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData();

        //清空选项
        CptUtil.RemoveChildsByName(objSelectContent.transform, "SelectButton", true);
        //清空文本
        tvContent.text = "";
        tvName.text    = "";
        //回到顶部
        scrollRect.verticalNormalizedPosition = 0;
        this.textData = textData;
        //选择对话 特殊处理 增加选择框
        if (textData.GetTextType() == TextInfoTypeEnum.Select ||
            textData.GetTextType() == TextInfoTypeEnum.Talk)
        {
            objNext.gameObject.SetActive(false);
            foreach (TextInfoBean itemData in listTextInfo)
            {
                //提示文本
                if (itemData.select_type == 0)
                {
                    this.textData = itemData;
                }
                // 选项
                else
                {
                    GameObject objSelect = Instantiate(objSelectModel, objSelectContent.transform);
                    objSelect.SetActive(true);
                    ItemGameTextSelectCpt itemCpt = objSelect.GetComponent <ItemGameTextSelectCpt>();
                    itemCpt.SetData(itemData);
                }
            }
        }
        else
        {
            objNext.gameObject.SetActive(true);
            //添加奖励
            AddReward(textData.reward_data);
        }
        //正常文本处理

        //查询角色数据
        CharacterBean characterData;

        if (textData.user_id == 0)
        {
            characterData = gameData.userCharacter;
        }
        else
        {
            characterData = NpcInfoHandler.Instance.manager.GetCharacterDataById(textData.user_id);
        }
        if (characterData == null)
        {
            LogUtil.LogError("文本展示没有找到该文本发起者");
            return;
        }
        //名字设置
        SetName(characterData.baseInfo.titleName, characterData.baseInfo.name, textData.name);
        //设置角色形象
        SetCharacterUI(characterData);
        //设置正文内容
        SetContent(textData.content);
        //添加好感度
        AddFavorability(textData.user_id, textData.add_favorability);
        //场景人物表情展示
        ShowSceneExpression(textData.scene_expression);
    }