Esempio n. 1
0
    public void BuildConvert(NpcTeamBean npcTeam, Vector3 npcPosition)
    {
        if (npcTeam == null || listExistTeamId.Contains(npcTeam.id))
        {
            return;
        }
        //获取小队成员数据
        npcTeam.GetTeamCharacterData(out List <CharacterBean> listLeader, out List <CharacterBean> listMembers);
        //设置小队相关
        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(listConvertHide, objConvertModel, characterData, npcPosition + new Vector3(UnityEngine.Random.Range(-0.5f, 0.5f), UnityEngine.Random.Range(-0.5f, 0.5f)));
            //设置意图
            NpcAIConvertCpt           convertCpt            = npcObj.GetComponent <NpcAIConvertCpt>();
            GameDataBean              gameData              = GameDataHandler.Instance.manager.GetGameData();
            CharacterFavorabilityBean characterFavorability = gameData.GetCharacterFavorability(long.Parse(characterData.baseInfo.characterId));
            convertCpt.SetTeamData(teamCode, npcTeam, i);
            convertCpt.SetIntent(NpcAISundryCpt.SundryIntentEnum.GoToInn);
        }
        listExistTeamId.Add(npcTeam.id);
    }
Esempio n. 2
0
    /// <summary>
    /// 设置全体意图
    /// </summary>
    public void SetTeamIntent(ConvertIntentEnum convertIntent)
    {
        List <NpcAISundryCpt> listNpc = NpcHandler.Instance.builderForEvent.GetSundryTeamByTeamCode(teamCode);

        foreach (NpcAISundryCpt itemNpc in listNpc)
        {
            NpcAIConvertCpt itemConvert = (NpcAIConvertCpt)itemNpc;
            itemConvert.SetIntent(convertIntent);
        }
    }