Пример #1
0
 public PursuitTargetGoal(GameObject inOwner, PursuitTargetGoalParams inParams)
     : base(inOwner)
 {
     _params      = inParams;
     _pathfinding = inOwner.GetComponent <IPathfindingInterface>();
     _emote       = inOwner.GetComponent <IEmoteInterface>();
 }
Пример #2
0
        public RemainInRadiusGoal(GameObject inOwner, RemainInRadiusGoalParams inParams)
            : base(inOwner)
        {
            _params             = inParams;
            _pathfinding        = inOwner.GetComponent <IPathfindingInterface>();
            _returnPoint        = inOwner.transform.position;
            _maxDistanceSquared = _params.MaxRadius * _params.MaxRadius;

            _returnInProgress = false;
            _currentStatus    = EGoalStatus.Inactive;
        }
Пример #3
0
        public FollowTargetGoal(GameObject inOwner, FollowTargetGoalParams inParams, IWildlifeServiceInterface inWildlifeServiceInterface)
            : base(inOwner)
        {
            _params = inParams;
            _followRadiusSquared      = Mathf.Pow(_params.FollowRadius, 2);
            _wildlifeServiceInterface = inWildlifeServiceInterface;

            _ownerSpeciesInterface     = inOwner.GetComponent <ISpeciesInterface>();
            _ownerPathfindingInterface = inOwner.GetComponent <IPathfindingInterface>();

            _currentStatus = EGoalStatus.Inactive;
        }
Пример #4
0
 public MoveEvent(IPathfindingInterface pc, BehaviorComponent mover, Vector2 desiredPosition, float moveSpeed)
 {
     this.pc            = pc;
     this.mover         = mover;
     this.moverPosition = mover.GetEntity().GetComponent <PositionComponent> ();
     if (float.IsNaN(desiredPosition.x))
     {
         Debug.Log("SUPER UNCOOL");
     }
     this.desiredPosition = desiredPosition;
     this.moveSpeed       = moveSpeed;
     this.maxDist         = Vector2.Distance(desiredPosition, moverPosition.position);
 }
Пример #5
0
        public override void Initialise()
        {
            _pathfinding = Owner.GetComponent <IPathfindingInterface>();

            if (_pathfinding == null)
            {
                _status = EGoalStatus.Failed;
            }
            else
            {
                _status = EGoalStatus.InProgress;
                _pathfinding.SetTargetLocation(_targetPosition, OnReachedLocation);
            }
        }
Пример #6
0
 public override void Terminate()
 {
     _pathfinding = null;
     _status      = EGoalStatus.Inactive;
 }
Пример #7
0
 protected void Start()
 {
     _pathfinding = gameObject.GetComponent <IPathfindingInterface>();
 }