public PursuitTargetGoal(GameObject inOwner, PursuitTargetGoalParams inParams) : base(inOwner) { _params = inParams; _pathfinding = inOwner.GetComponent <IPathfindingInterface>(); _emote = inOwner.GetComponent <IEmoteInterface>(); }
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; }
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; }
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); }
public override void Initialise() { _pathfinding = Owner.GetComponent <IPathfindingInterface>(); if (_pathfinding == null) { _status = EGoalStatus.Failed; } else { _status = EGoalStatus.InProgress; _pathfinding.SetTargetLocation(_targetPosition, OnReachedLocation); } }
public override void Terminate() { _pathfinding = null; _status = EGoalStatus.Inactive; }
protected void Start() { _pathfinding = gameObject.GetComponent <IPathfindingInterface>(); }