コード例 #1
0
    protected static void CompleteRewardForAddChild(RewardTypeBean rewardTypeData)
    {
        GameDataBean   gameData   = GameDataHandler.Instance.manager.GetGameData();
        FamilyDataBean familyData = gameData.GetFamilyData();

        familyData.CreateChild(rewardTypeData.data, gameData.userCharacter, familyData.mateCharacter);
    }
コード例 #2
0
    /// <summary>
    /// 获取所有人员信息
    /// </summary>
    /// <returns></returns>
    public List <CharacterBean> GetAllCharacterData()
    {
        List <CharacterBean> listData = new List <CharacterBean>();

        //添加主角
        if (userCharacter != null)
        {
            listData.Add(userCharacter);
        }
        //添加孩子
        FamilyDataBean familyData = GetFamilyData();
        List <CharacterForFamilyBean> listFamily = familyData.GetAllFamilyData();

        for (int i = 0; i < listFamily.Count; i++)
        {
            CharacterForFamilyBean characterForFamily = listFamily[i];
            if (characterForFamily.GetFamilyType() != FamilyTypeEnum.Mate && characterForFamily.CheckIsGrowUp(gameTime))
            {
                listData.Add(characterForFamily);
            }
        }
        //添加工作者
        if (listWorkerCharacter != null)
        {
            listData.AddRange(listWorkerCharacter);
        }

        return(listData);
    }
コード例 #3
0
 /// <summary>
 /// 获取家族数据
 /// </summary>
 /// <returns></returns>
 public FamilyDataBean GetFamilyData()
 {
     if (familyData == null)
     {
         familyData = new FamilyDataBean();
     }
     return(familyData);
 }
コード例 #4
0
    public override void OpenUI()
    {
        base.OpenUI();
        GameDataBean   gameData   = GameDataHandler.Instance.manager.GetGameData();
        FamilyDataBean familyData = gameData.GetFamilyData();

        listFamilyData = familyData.GetAllFamilyData();
        ui_FamilyList.SetCellCount(listFamilyData.Count);
        SetMarryDate(familyData.timeForMarry);
        SetBirthPro(familyData.birthPro);
    }
コード例 #5
0
ファイル: EventTriggerEnum.cs プロジェクト: wobushiren79/IL
    /// <summary>
    /// 获取触发条件详情 结婚
    /// </summary>
    /// <param name="triggerData"></param>
    /// <param name="gameData"></param>
    private static void GetTriggerDetailsForMarry(EventTriggerBean triggerData, GameDataBean gameData)
    {
        FamilyDataBean familyData = gameData.GetFamilyData();

        if (familyData.CheckIsMarryDay(gameData.gameTime))
        {
            triggerData.isTrigger = true;
        }
        else
        {
            triggerData.isTrigger = false;
        }
    }
コード例 #6
0
ファイル: UIMiniGameBirth.cs プロジェクト: wobushiren79/IL
    public override void RefreshUI()
    {
        base.RefreshUI();
        //设置开火数量
        MiniGameBirthBean miniGameBirthData = MiniGameHandler.Instance.handlerForBirth.miniGameData;

        SetFireNumber(miniGameBirthData.fireNumber, miniGameBirthData.winFireNumber);
        //设置怀孕进度
        GameDataBean   gameData   = GameDataHandler.Instance.manager.GetGameData();
        FamilyDataBean familyData = gameData.GetFamilyData();

        SetBirthPro(familyData.birthPro);
    }
コード例 #7
0
    /// <summary>
    /// 建造家族成员
    /// </summary>
    public void BuildFamily()
    {
        //获取家族数据
        GameDataBean   gameData   = GameDataHandler.Instance.manager.GetGameData();
        FamilyDataBean familyData = gameData.GetFamilyData();
        List <CharacterForFamilyBean> listFamilyCharacterData = familyData.GetAllFamilyData();

        for (int i = 0; i < listFamilyCharacterData.Count; i++)
        {
            CharacterForFamilyBean characterForFamily = listFamilyCharacterData[i];
            CreateFamilyCharacter(characterForFamily);
        }
    }
コード例 #8
0
ファイル: ShowConditionEnum.cs プロジェクト: wobushiren79/IL
    /// <summary>
    /// 获取出现详情  是否结婚
    /// </summary>
    /// <param name="gameData"></param>
    /// <param name="conditionData"></param>
    /// <returns></returns>
    protected static ShowConditionBean GetConditionDetailsForIsMarry(GameDataBean gameData, ShowConditionBean conditionData)
    {
        FamilyDataBean familyData = gameData.GetFamilyData();

        if (familyData.CheckMarry(gameData.gameTime))
        {
            conditionData.isCondition = true;
        }
        else
        {
            conditionData.isCondition = false;
        }
        return(conditionData);
    }
コード例 #9
0
    /// <summary>
    /// 到达卵子
    /// </summary>
    public void ArriveEgg(MiniGameBirthSpermBean spermData)
    {
        //获取家族数据
        GameDataBean   gameData   = GameDataHandler.Instance.manager.GetGameData();
        FamilyDataBean familyData = gameData.GetFamilyData();

        //增加怀孕进度
        familyData.addBirthPro(miniGameData.addBirthPro);
        DestroySperm(spermData);
        //刷新UI
        BaseUIComponent ui = UIHandler.Instance.manager.GetOpenUI();

        ui.RefreshUI();
    }
コード例 #10
0
ファイル: NpcEventBuilder.cs プロジェクト: wobushiren79/IL
    public void BuildSundry(NpcTeamBean npcTeam, Vector3 npcPosition)
    {
        if (listExistTeamId.Contains(npcTeam.id))
        {
            return;
        }
        //获取小队成员数据
        npcTeam.GetTeamCharacterData(out List <CharacterBean> listLeader, out List <CharacterBean> listMembers);
        //检测是否为结婚对象
        GameDataBean   gameData   = GameDataHandler.Instance.manager.GetGameData();
        FamilyDataBean familyData = gameData.GetFamilyData();

        for (int i = 0; i < listLeader.Count; i++)
        {
            CharacterBean itemCharacter = listLeader[i];
            if (familyData.mateCharacter != null && familyData.mateCharacter.baseInfo != null && familyData.mateCharacter.baseInfo.characterId != null)
            {
                if (itemCharacter.baseInfo.characterId.Equals(familyData.mateCharacter.baseInfo.characterId))
                {
                    return;
                }
            }
        }
        //设置小队相关
        string teamCode  = SystemUtil.GetUUID(SystemUtil.UUIDTypeEnum.N);
        int    npcNumber = listLeader.Count + listMembers.Count;

        for (int i = 0; i < npcNumber; i++)
        {
            CharacterBean characterData = null;
            if (i < listLeader.Count)
            {
                characterData = listLeader[i];
            }
            else
            {
                characterData = listMembers[i - listLeader.Count];
            }
            //生成NPC
            GameObject npcObj = BuildNpc(listSundryHide, objSundryModel, characterData, npcPosition + new Vector3(UnityEngine.Random.Range(-0.5f, 0.5f), UnityEngine.Random.Range(-0.5f, 0.5f)));
            //设置意图
            NpcAISundryCpt sundryCpt = npcObj.GetComponent <NpcAISundryCpt>();

            CharacterFavorabilityBean characterFavorability = gameData.GetCharacterFavorability(long.Parse(characterData.baseInfo.characterId));
            sundryCpt.SetTeamData(teamCode, npcTeam, i);
            sundryCpt.SetIntent(NpcAISundryCpt.SundryIntentEnum.GoToInn);
        }
        listExistTeamId.Add(npcTeam.id);
    }
コード例 #11
0
    /// <summary>
    /// 协程-下一天
    /// </summary>
    /// <returns></returns>
    public IEnumerator CoroutineForNextDay()
    {
        yield return(new WaitForSeconds(animTimeForWaitNext));

        //进入下一天
        GameTimeHandler.Instance.GoToNextDay(1);
        GameTimeHandler.Instance.GetTime(out int newYear, out int newMonth, out int newDay);
        calendarView.ChangeData(newYear, newMonth, newDay);
        AudioHandler.Instance.PlaySound(AudioSoundEnum.ButtonForShow);
        //展示是否营业框
        yield return(new WaitForSeconds(animTimeForShowDialog));

        GameTimeHandler.Instance.GetTime(out int year, out int month, out int day);
        GameDataBean         gameData   = GameDataHandler.Instance.manager.GetGameData();
        List <CharacterBean> listWorker = gameData.GetAllCharacterData();

        //如果有请假的员工 新的一天结束请假
        foreach (CharacterBean itemWork in listWorker)
        {
            if (itemWork.baseInfo.GetWorkerStatus() == WorkerStatusEnum.Vacation)
            {
                itemWork.baseInfo.SetWorkerStatus(WorkerStatusEnum.Rest);
            }
        }
        FamilyDataBean familyData = gameData.GetFamilyData();

        // 第一年和第二年 第一天默认不营业
        if ((year == 221 || year == 222) && month == 1 && day == 1)
        {
            InnRest();
        }
        //如果时建设中则不营业
        else if (gameData.GetInnBuildData().listBuildDay.Count > 0)
        {
            InnRest();
        }
        //如果是结婚日
        else if (familyData.timeForMarry.year == year && familyData.timeForMarry.month == month && familyData.timeForMarry.day == day)
        {
            InnRest();
        }
        else
        {
            objDialog.SetActive(true);
            objDialog.transform.localScale = new Vector3(1, 1, 1);
            objDialog.transform.DOScale(Vector3.zero, 0.5f).From().SetEase(Ease.OutBack);
            BirthForInit();
        }
    }
コード例 #12
0
    /// <summary>
    /// 设置结婚日
    /// </summary>
    public void SetMarryDay()
    {
        GameDataBean   gameData   = GameDataHandler.Instance.manager.GetGameData();
        FamilyDataBean familyData = gameData.GetFamilyData();

        if (familyData != null && familyData.timeForMarry != null)
        {
            foreach (ItemGameCalendarCpt itemGameCalendar in mListItemDay)
            {
                if (itemGameCalendar.dateInfo.day == familyData.timeForMarry.day &&
                    itemGameCalendar.dateInfo.month == familyData.timeForMarry.month &&
                    year == familyData.timeForMarry.year)
                {
                    itemGameCalendar.SetRemark("婚");
                }
            }
        }
    }
コード例 #13
0
    /// <summary>
    ///  包括主角
    /// </summary>
    /// <returns></returns>
    public List <string> GetAllFamilyCharacterIds()
    {
        List <string> listData = new List <string>();

        if (userCharacter != null)
        {
            listData.Add(userCharacter.baseInfo.characterId);
        }
        FamilyDataBean familyData = GetFamilyData();
        List <CharacterForFamilyBean> listFamily = familyData.GetAllFamilyData();

        for (int i = 0; i < listFamily.Count; i++)
        {
            CharacterForFamilyBean characterForFamily = listFamily[i];
            listData.Add(characterForFamily.baseInfo.characterId);
        }
        return(listData);
    }
コード例 #14
0
    /// <summary>
    /// 创建家族成员
    /// </summary>
    /// <param name="characterForFamily"></param>
    public void CreateFamilyCharacter(CharacterForFamilyBean characterForFamily)
    {
        if (characterForFamily == null)
        {
            return;
        }
        FamilyTypeEnum familyType = characterForFamily.GetFamilyType();
        GameDataBean   gameData   = GameDataHandler.Instance.manager.GetGameData();
        FamilyDataBean familyData = gameData.GetFamilyData();

        if (familyType == FamilyTypeEnum.Daughter || familyType == FamilyTypeEnum.Son)
        {
            //如果是女儿或者儿子 需要3年后才能移动
            if (!characterForFamily.CheckIsGrowUp(gameData.gameTime))
            {
                return;
            }
        }
        else if (familyType == FamilyTypeEnum.Mate)
        {
            //如果是伴侣需要结婚日之后才刷新
            if (!familyData.CheckMarry(gameData.gameTime))
            {
                return;
            }
        }


        //获取门的坐标 并在门周围生成NPC
        Vector3 doorPosition = InnHandler.Instance.GetRandomEntrancePosition();

        //向下3个单位
        doorPosition += new Vector3(0, -3f, 0);
        GameObject objFamily = BuildNpc(listHideNpc, objNormalModel, characterForFamily, doorPosition);

        if (objFamily == null)
        {
            return;
        }
        NpcAIFamilyCpt npcAIFamily = objFamily.GetComponent <NpcAIFamilyCpt>();

        listFamilyCharacter.Add(npcAIFamily);
    }
コード例 #15
0
    public override void EndGame(MiniGameResultEnum gameResult, bool isSlow)
    {
        //每日限制减少
        GameCommonInfo.DailyLimitData.numberForBirth--;
        listSperm.Clear();
        //检测是否达到生孩子标准
        GameDataBean   gameData   = GameDataHandler.Instance.manager.GetGameData();
        FamilyDataBean familyData = gameData.GetFamilyData();

        //如果可以生孩子
        if (familyData.birthPro >= 1)
        {
            familyData.birthPro = 0;
            if (familyData.listChildCharacter.Count >= 3)
            {
                ToastHandler.Instance.ToastHint(TextHandler.Instance.manager.GetTextById(1351));
            }
            else
            {
                if (familyData.mateCharacter.body.GetSex() == gameData.userCharacter.body.GetSex())
                {
                    //同性
                    ToastHandler.Instance.ToastHint(TextHandler.Instance.manager.GetTextById(7032), 10);
                }
                else
                {
                    //异性
                    ToastHandler.Instance.ToastHint(TextHandler.Instance.manager.GetTextById(7031), 10);
                }

                DialogBean dialogData = new DialogBean();
                dialogData.title = TextHandler.Instance.manager.GetTextById(8011);
                DialogHandler.Instance.CreateDialog <InputTextDialogView>(DialogEnum.InputText, this, dialogData);
                //设置游戏数据
                miniGameData.SetGameResult(MiniGameResultEnum.Win);
                return;
            }
        }
        base.EndGame(gameResult, isSlow);
    }
コード例 #16
0
ファイル: StoryBuilder.cs プロジェクト: wobushiren79/IL
    /// <summary>
    /// 生成NPC
    /// </summary>
    /// <param name="itemData"></param>
    public BaseNpcAI CreateNpc(StoryInfoDetailsBean itemData)
    {
        GameObject objNpcModel = StoryInfoHandler.Instance.manager.objNpcModel;
        GameObject objNpc      = Instantiate(transform.gameObject, objNpcModel);

        objNpc.transform.localPosition = new Vector3(itemData.position_x, itemData.position_y);
        listNpcObj.Add(objNpc);
        NpcAIStoryCpt aiNpc = objNpc.GetComponent <NpcAIStoryCpt>();
        CharacterBean characterData;

        if (itemData.npc_id == 0)
        {
            //使用自己的数据
            GameControlHandler.Instance.manager.GetControl <ControlForStoryCpt>(GameControlHandler.ControlEnum.Story).SetCameraFollowObj(objNpc);
            GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData();
            characterData = gameData.userCharacter;
        }
        else if (itemData.npc_id == -1)
        {
            // 使用妻子的数据
            GameDataBean   gameData   = GameDataHandler.Instance.manager.GetGameData();
            FamilyDataBean familyData = gameData.GetFamilyData();
            characterData = familyData.mateCharacter as CharacterBean;
        }
        else
        {
            characterData = NpcInfoHandler.Instance.manager.GetCharacterDataById(itemData.npc_id);
        }
        //设置编号
        objNpc.name = "character_" + itemData.num;
        CharacterBean copyCharacterData = ClassUtil.DeepCopyByBin <CharacterBean>(characterData);

        aiNpc.SetCharacterData(copyCharacterData);
        //默认设置NPC速度为1
        aiNpc.characterMoveCpt.SetMoveSpeed(1);
        return(aiNpc);
    }
コード例 #17
0
    private NpcAIImportantCpt BuildNpc(CharacterBean characterData)
    {
        GameObject npcObj = null;

        try
        {
            if (objNpcModel == null || objNpcContainer == null)
            {
                return(null);
            }
            //检测是否已经招募
            GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData();
            if (gameData.CheckHasWorker(characterData.baseInfo.characterId))
            {
                return(null);
            }
            //检测是否是老婆
            FamilyDataBean familyData = gameData.GetFamilyData();
            if (familyData.CheckIsMate(characterData.npcInfoData.id))
            {
                return(null);
            }
            if (gameData.gameTime.year == 0 &&
                gameData.gameTime.month == 0 &&
                gameData.gameTime.day == 0)
            {
                //如果是测试 这默认生成所有NPC
            }
            else
            {
                //检测是否满足出现条件
                if (!CheckUtil.StringIsNull(characterData.npcInfoData.condition) && !ShowConditionTools.CheckIsMeetAllCondition(gameData, characterData.npcInfoData.condition))
                {
                    return(null);
                }
            }

            npcObj = Instantiate(objNpcContainer, objNpcModel);
            npcObj.transform.position   = new Vector3(characterData.npcInfoData.position_x, characterData.npcInfoData.position_y);
            npcObj.transform.localScale = new Vector3(1, 1);
            NpcAIImportantCpt aiCpt = npcObj.GetComponent <NpcAIImportantCpt>();
            aiCpt.SetCharacterData(characterData);

            if (characterData.npcInfoData.GetNpcType() == NpcTypeEnum.Special || characterData.npcInfoData.GetNpcType() == NpcTypeEnum.RecruitTown)
            {
                if (!GameCommonInfo.DailyLimitData.CheckIsTalkNpc(characterData.npcInfoData.id))
                {
                    if (characterData.npcInfoData.GetTalkTypes().Contains(NpcTalkTypeEnum.OneTalk) ||
                        characterData.npcInfoData.GetTalkTypes().Contains(NpcTalkTypeEnum.Recruit))
                    {
                        aiCpt.SetExpression(CharacterExpressionCpt.CharacterExpressionEnum.Doubt, -1);
                    }
                }
            }

            //如果没有对话选项则不能互动
            BoxCollider2D talkBox = npcObj.GetComponent <BoxCollider2D>();
            if (talkBox != null)
            {
                if (CheckUtil.StringIsNull(characterData.npcInfoData.talk_types))
                {
                    talkBox.enabled = false;
                }
            }
            return(aiCpt);
        }
        catch
        {
            if (npcObj != null)
            {
                Destroy(npcObj);
            }
            return(null);
        }
    }
コード例 #18
0
ファイル: UIGameText.cs プロジェクト: wobushiren79/IL
    public void Submit(DialogView dialogView, DialogBean dialogBean)
    {
        GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData();

        //送礼
        if (dialogView is PickForItemsDialogView)
        {
            //获取选择物品
            PickForItemsDialogView pickForItemsDialog = dialogView as PickForItemsDialogView;
            pickForItemsDialog.GetSelectedItems(out ItemsInfoBean itemsInfo, out ItemBean itemData);
            //获取赠送人
            CharacterBean             characterData         = NpcInfoHandler.Instance.manager.GetCharacterDataById(mTalkNpcInfo.id);
            CharacterFavorabilityBean characterFavorability = gameData.GetCharacterFavorability(mTalkNpcInfo.id);
            int addFavorability;
            int favorabilityForTalk;
            //根据物品稀有度增加好感
            switch (itemsInfo.GetItemRarity())
            {
            case RarityEnum.Normal:
                addFavorability     = 1;
                favorabilityForTalk = 1;
                break;

            case RarityEnum.Rare:
                addFavorability     = 3;
                favorabilityForTalk = 3;
                break;

            case RarityEnum.SuperRare:
                addFavorability     = 6;
                favorabilityForTalk = 3;
                break;

            case RarityEnum.SuperiorSuperRare:
                addFavorability     = 10;
                favorabilityForTalk = 3;
                break;

            case RarityEnum.UltraRare:
                addFavorability     = 15;
                favorabilityForTalk = 3;
                break;

            default:
                addFavorability     = 1;
                favorabilityForTalk = 1;
                break;
            }
            //增加送礼次数
            characterFavorability.AddGiftNumber(1);
            //删减物品
            gameData.AddItemsNumber(itemData.itemId, -1);
            //增加每日限制
            GameCommonInfo.DailyLimitData.AddGiftNpc(mTalkNpcInfo.id);
            //通过增加好感查询对话
            TextInfoHandler.Instance.manager.listTextData = TextInfoHandler.Instance.manager.GetGiftTalkByFavorability(favorabilityForTalk);
            ShowText(TextInfoHandler.Instance.manager.listTextData);

            //文本里面会默认加好感
            //先减去文本加的好感 再添加实际的好感加成
            characterFavorability.AddFavorability(-favorabilityForTalk);
            characterFavorability.AddFavorability(addFavorability);
        }
        //求婚
        else
        {
            //减去信物
            gameData.AddItemsNumber(99900021, -1);
            //弹窗提示
            ToastHandler.Instance.ToastHint(TextHandler.Instance.manager.GetTextById(1341));
            //设置3天后结婚
            FamilyDataBean familyData = gameData.GetFamilyData();
            familyData.timeForMarry = GameTimeHandler.Instance.GetAfterDay(3);
            //设置妻子数据
            CharacterForFamilyBean characterData = new CharacterForFamilyBean(mTalkNpcInfo, familyData.timeForMarry);
            characterData.SetFamilyType(FamilyTypeEnum.Mate);
            familyData.mateCharacter = characterData;
        }
    }
コード例 #19
0
ファイル: TextInfoManager.cs プロジェクト: wobushiren79/IL
    /// <summary>
    /// 获取交流对话选项
    /// </summary>
    public void GetTextForTalkOptions(GameDataBean gameData, NpcInfoBean npcInfo, Action <List <TextInfoBean> > action)
    {
        //如果不是第一次对话则有以下选项
        listTextData = new List <TextInfoBean>();

        List <NpcTalkTypeEnum> npcTalkTypes = npcInfo.GetTalkTypes();

        listTextData.Add(new TextInfoBean(TextInfoTypeEnum.Talk, 0, TextHandler.Instance.manager.GetTextById(99101)));
        foreach (NpcTalkTypeEnum itemType in npcTalkTypes)
        {
            switch (itemType)
            {
            case NpcTalkTypeEnum.Talk:
                listTextData.Add(new TextInfoBean(TextInfoTypeEnum.Talk, 1, TextHandler.Instance.manager.GetTextById(99102)));
                break;

            case NpcTalkTypeEnum.OneTalk:
                if (!GameCommonInfo.DailyLimitData.CheckIsTalkNpc(npcInfo.id))
                {
                    listTextData.Add(new TextInfoBean(TextInfoTypeEnum.Talk, 1, TextHandler.Instance.manager.GetTextById(99102)));
                }
                break;

            case NpcTalkTypeEnum.Recruit:
                if (!gameData.CheckHasWorker(npcInfo.id + ""))
                {
                    listTextData.Add(new TextInfoBean(TextInfoTypeEnum.Talk, 1, TextHandler.Instance.manager.GetTextById(99104)));
                }
                break;

            case NpcTalkTypeEnum.Gift:
                if (!GameCommonInfo.DailyLimitData.CheckIsGiftNpc(npcInfo.id))
                {
                    listTextData.Add(new TextInfoBean(TextInfoTypeEnum.Talk, 1, TextHandler.Instance.manager.GetTextById(99105)));
                }
                break;

            case NpcTalkTypeEnum.GuildCoinExchange:
                listTextData.Add(new TextInfoBean(TextInfoTypeEnum.Talk, 1, TextHandler.Instance.manager.GetTextById(99201)));
                break;

            case NpcTalkTypeEnum.TrophyExchange:
                listTextData.Add(new TextInfoBean(TextInfoTypeEnum.Talk, 1, TextHandler.Instance.manager.GetTextById(99202)));
                break;

            case NpcTalkTypeEnum.EquipExchange:
                listTextData.Add(new TextInfoBean(TextInfoTypeEnum.Talk, 1, TextHandler.Instance.manager.GetTextById(99203)));
                break;

            case NpcTalkTypeEnum.ItemsExchange:
                listTextData.Add(new TextInfoBean(TextInfoTypeEnum.Talk, 1, TextHandler.Instance.manager.GetTextById(99204)));
                break;
            }
        }

        CharacterFavorabilityBean characterFavorability = gameData.GetCharacterFavorability(npcInfo.id);
        FamilyDataBean            familyData            = gameData.GetFamilyData();

        //如果满足了结婚条件。添加结婚对话
        if (
            //该角色是否可以结婚
            npcInfo.CheckCanMarry()
            //好感是否达到要求
            && characterFavorability.CheckCanMarry()
            //是否已经向其他人求婚或者已经结婚
            && (familyData.timeForMarry == null || familyData.timeForMarry.year == 0))
        {
            listTextData.Add(new TextInfoBean(TextInfoTypeEnum.Talk, 1, TextHandler.Instance.manager.GetTextById(99205)));
        }
        //离开选项
        listTextData.Add(new TextInfoBean(TextInfoTypeEnum.Talk, 1, TextHandler.Instance.manager.GetTextById(99103)));

        //继续查询该人物的所有对话
        GetTextForTalkByMinFavorability(npcInfo.id, characterFavorability.favorabilityLevel, action);
        action?.Invoke(listTextData);
    }