예제 #1
0
        public AIStateAttack(ArtificialIntelligence brains) : base(brains)
        {
            State = EAIState.Attack;

            _guardBrains           = (GuardBrains)brains;
            _guardBrains.RanAway  += GuardBrainsOnRanAway;
            DeathController.Death += OnDeath;
        }
예제 #2
0
 public AIStateAlert(ArtificialIntelligence brains, float searchDistance, float alertTime) : base(brains)
 {
     _searchDistance = searchDistance;
     _alertTime      = alertTime;
     State           = EAIState.Alert;
     _timeInState    = alertTime;
     _player         = GameObject.FindObjectOfType <Core.Characters.Player.PlayerBehaviour>();
 }
예제 #3
0
        public AIStateWandering(ArtificialIntelligence brains, float searchDistance, Transform pathRoot, Image suspentionBar) : base(brains)
        {
            _searchDistance = searchDistance;
            State           = EAIState.Wandering;

            _movementController = new SequentialMovement(pathRoot.GetComponentsInChildren <Transform>(),
                                                         _masterBrain.MovableObject,
                                                         true);
            _bellCreepy    = Resources.Load <AudioClip>("Sounds/bellCreepy");
            _whispering    = Resources.Load <AudioClip>("Sounds/whisper");
            _effect        = GameObject.FindObjectOfType <NoiseEffect>();
            _player        = GameObject.FindObjectOfType <PlayerBehaviour>();
            _suspentionBar = suspentionBar;
            _guardBrains   = (GuardBrains)brains;
        }
예제 #4
0
 public AIStateAttack(ArtificialIntelligence brains) : base(brains)
 {
     State = EAIState.Attack;
 }
예제 #5
0
 public AIStateBase(ArtificialIntelligence brains)
 {
     _masterBrain = brains;
     _map         = _masterBrain.MovableObject.Map;
 }