public override BehaviourTreeStatus Tick(TimeData time)
        {
            if (_aiMovementController.IsTargetReached(_movementTarget))
            {
                return(BehaviourTreeStatus.Success);
            }

            _aiMovementController.MoveToTarget(_movementTarget);
            return(BehaviourTreeStatus.Running);
        }
Exemplo n.º 2
0
        public override BehaviourTreeStatus Tick(TimeData time)
        {
            if (!IsWithinScreenBounds())
            {
                return(BehaviourTreeStatus.Success);
            }

            _aiMovementController.MoveToTarget(_originDataComponent.SpawnPosition.Value);
            return(BehaviourTreeStatus.Running);
        }
Exemplo n.º 3
0
        public override BehaviourTreeStatus Tick(TimeData time)
        {
            if (!_blackBoard.MovementTarget.HasValue)
            {
                return(BehaviourTreeStatus.Failure);
            }

            var target = _blackBoard.MovementTarget.View();

            if (_aiMovementController.IsTargetReached(target))
            {
                _blackBoard.MovementTarget.Consume();
                return(BehaviourTreeStatus.Success);
            }

            _aiMovementController.MoveToTarget(target);
            return(BehaviourTreeStatus.Running);
        }