Exemple #1
0
 public void Initialize(AICharacterBrain _Brain)
 {
     brain      = _Brain;
     aiSettings = _Brain.GetComponent <AISettings>();
     if (aiSettings.m_SurfaceConscious)
     {
         m_AISurfaceConscious.Initialize(brain);
     }
 }
Exemple #2
0
        public void InitializeDictionary(AICharacterBrain _Brain)
        {
            aiSetting = _Brain.GetComponent <AISettings>();

            //将所有用户设置的关系加入dictionary
            //Debug.Log(aiSetting.m_PreSetAcquaintanceInfo.Count);
            for (int i = 0; i < aiSetting.m_PreSetAcquaintanceInfo.Count; i++)
            {
                m_Acquaintance.Add(aiSetting.m_PreSetAcquaintanceInfo[i].PreSetObject.name, aiSetting.m_PreSetAcquaintanceInfo[i].PreSetRelationship);
            }
        }
Exemple #3
0
        public override bool MatchedChangeCondition(AICharacterBrain _Brain)
        {
            animator            = _Brain.GetComponent <Animator>();
            animStateInfomation = animator.GetCurrentAnimatorStateInfo(0);
            for (int i = 0; i < matchAnimatorName.Length; i++)
            {
                if (animStateInfomation.IsName(matchAnimatorName[i]))
                {
                    return(true);
                }
            }

            return(false);
        }
Exemple #4
0
        //private LearnedBehavior currentLearnedBehavior;//当前决定所对应的学习性行为

        /// <summary>
        /// 初始化LearnedBehaviorManager
        /// </summary>
        /// <param name="_Brain">传入的AIbrain</param>
        public void Initialize(AICharacterBrain _Brain)
        {
            brain      = _Brain;
            aiSettings = _Brain.GetComponent <AISettings>();
            // Debug.Log(aiSettings.m_PatrolPlace[0].position);
            baseMoveManager = _Brain.m_BaseMoveManager;
            for (int i = 0; i < aiSettings.m_PatrolPlace.Count; i++)
            {
                if (aiSettings.m_PatrolPlace[i] != null)
                {
                    m_PatrolTargets.Add(aiSettings.m_PatrolPlace[i].position);
                }
            }
            InitializeDecision();
        }
Exemple #5
0
 public override bool MatchedChangeCondition(AICharacterBrain _Brain)
 {
     animator            = _Brain.GetComponent <Animator>();
     animStateInfomation = animator.GetCurrentAnimatorStateInfo(0);
     if ((_Brain.m_SensorManager.M_GetCurrentEnemyTarget().transform.position - _Brain.m_CurrentTransform.position).sqrMagnitude > farAwayDistance * farAwayDistance)
     {
         bool _flagOfMove = true;
         for (int i = 0; i < matchAnimatorName.Length; i++)
         {
             if ((animStateInfomation.IsName(matchAnimatorName[i])))
             {
                 _flagOfMove = false;
                 break;
             }
         }
         if (_flagOfMove)
         {
             return(true);
         }
     }
     return(false);
 }
Exemple #6
0
 public virtual void Initialize(AICharacterBrain _Brain)
 {
     m_brain    = _Brain;
     m_Animator = _Brain.GetComponent <Animator>();
     m_learnedBehaviorManager = _Brain.m_LearnedBehaviorManager;
 }
Exemple #7
0
 public override void InitializeSensor(AICharacterBrain _Brain)
 {
     brain      = _Brain;
     aiSettings = _Brain.GetComponent <AISettings>();
 }
Exemple #8
0
 /// <summary>
 /// 用于传入参数
 /// </summary>
 /// <param name="_Brain">接收外部传入的aicharacterBrain </param>
 public void Initialize(AICharacterBrain _Brain)
 {
     brain        = _Brain;
     navMeshAgent = brain.GetComponent <NavMeshAgent>();
 }