Exemple #1
0
 /// <summary>
 /// Adds an IVisionObserver to the observers of this ConeDetector. Observers will be notified
 /// when objects enter the field of vision, leave the field of vision and every frame that they stay in the field of vision.
 /// </summary>
 /// <param name="observer">The observer to add.</param>
 public void AddObserver(IVisionObserver observer)
 {
     if (observer != null)
     {
         observers.Add(observer);
     }
 }
Exemple #2
0
 public Moving(MovementHelper movementHelper, TargetingHelper targetingHelper, IUnit unit, IMap map,
               IVisionObserver vision, Vector3 targetPosition)
     : base(ComputerStateIds.Chasing, movementHelper, targetingHelper, unit, map, vision)
 {
     _targetPositoon = targetPosition;
     _path           = Map.PathFinder.FindPath(Unit.LogicPosition, _targetPositoon);
 }
Exemple #3
0
 public Strafing(MovementHelper movementHelper, TargetingHelper targetingHelper, IUnit unit, IMap map,
                 IVisionObserver vision,
                 ITarget target)
     : base(ComputerStateIds.Chasing, movementHelper, targetingHelper, unit, map, vision)
 {
     _target = target;
     _path   = Map.PathFinder.FindSafespot(Unit.LogicPosition);
 }
Exemple #4
0
 public ComputerStatesFactory(IMap map, IUnit unit, IVisionObserver vision,
                              MovementHelper movementHelper,
                              TargetingHelper targetingHelper)
 {
     _map             = map;
     _unit            = unit;
     _vision          = vision;
     _movementHelper  = movementHelper;
     _targetingHelper = targetingHelper;
 }
Exemple #5
0
        public Searching(MovementHelper movementHelper, TargetingHelper targetingHelper, IUnit unit, IMap map,
                         IVisionObserver vision,
                         ITargetMemory memory)
            : base(ComputerStateIds.Chasing, movementHelper, targetingHelper, unit, map, vision)
        {
            _targetMemory    = memory;
            _initialDistance = (_targetMemory.LastSeenPosition - Unit.LogicPosition).magnitude;

            FindPath();
        }
Exemple #6
0
 public Watching(MovementHelper movementHelper, TargetingHelper targetingHelper, IUnit unit, IMap map,
                 IVisionObserver vision,
                 Vector3?preferedLookDirection, float timeLimit = 0)
     : base(ComputerStateIds.Watching, movementHelper, targetingHelper, unit, map, vision)
 {
     _preferedLookDirection = preferedLookDirection;
     if (timeLimit > 0)
     {
         _isLimited = true;
         _timeLimit = timeLimit;
     }
 }
Exemple #7
0
 protected CognitionState(ComputerStateIds id,
                          MovementHelper movementHelper, TargetingHelper targetingHelper,
                          IUnit unit, IMap map, IVisionObserver vision)
 {
     Unit              = unit;
     Id                = id;
     Map               = map;
     Vision            = vision;
     MovementHelper    = movementHelper;
     TargetingHelper   = targetingHelper;
     _nextStateBuilder = new NextStateBuilder(this);
     StatesFactory     = new ComputerStatesFactory(map, unit, vision, movementHelper, targetingHelper);
 }
Exemple #8
0
 /// <summary>
 /// Removes the given observer from this ConeDetector.
 /// </summary>
 /// <param name="observer"></param>
 public void RemoveObserver(IVisionObserver observer)
 {
     observers.Remove(observer);
 }
 private void Awake()
 {
     _playerStore    = FindObjectOfType <PlayerStore>();
     _visionObserver =
         FindObjectOfType <VisionStore>().GetVisionObserver(_playerStore.PlayerUnit);
 }