Exemplo n.º 1
0
    protected void CheckTargetReach()
    {
        switch (legsState)
        {
        case LegsState.Idle:
            break;

        case LegsState.MovingToPosition:

            if ((targetPosition - myPosition.position).sqrMagnitude < dtrmSqTargetPositionReach)
            {
                legsState = LegsState.Idle;
                SendTargetReachMessage();
                StopMovement();
            }
            break;

        case LegsState.PursuingTarget:

            if ((targetActor.position - myPosition.position).sqrMagnitude < dtrmSqTargetPositionReach)
            {
                legsState = LegsState.Idle;
                SendTargetReachMessage();
                StopMovement();
            }
            break;

        case LegsState.FollowingTarget:
            Debug.LogWarning("Shouldn't be checking target reach in this state!");
            break;

        default:
            Debug.LogError("Unknown state!");
            break;
        }
    }
Exemplo n.º 2
0
    void Update()
    {
        if (legsState == LegsState.Idle)
            return;

        if ( ReachedTarget() ) {
            legsState = LegsState.Idle;
            return;
        }

        if (legsState == LegsState.MovingToPosition )
            MoveTowards(targetPosition);
        else
            MoveTowards(targetTransform.position);
    }
Exemplo n.º 3
0
 public void Stop()
 {
     legsState = LegsState.Idle;
 }
Exemplo n.º 4
0
 public void Pursue(Transform actor)
 {
     legsState = LegsState.PursuingTransform;
     targetTransform = actor;
 }
Exemplo n.º 5
0
 public void Move(Vector3 position)
 {
     legsState = LegsState.MovingToPosition;
     targetPosition = position;
 }
Exemplo n.º 6
0
 public void Follow(Transform actor)
 {
     legsState = LegsState.FollowingTransform;
     targetTransform = actor;
 }
Exemplo n.º 7
0
 public void FollowTarget(DTRMPosition target)
 {
     legsState = LegsState.FollowingTarget;
     targetActor = target;
 }
Exemplo n.º 8
0
 public override void DTRMStart()
 {
     legsListeners = GetComponents(typeof(ILegsListener));
     legsState = LegsState.Idle;
 }
Exemplo n.º 9
0
    protected void CheckTargetReach()
    {
        switch(legsState) {

            case LegsState.Idle:
                break;

            case LegsState.MovingToPosition:

                if ( (targetPosition - myPosition.position).sqrMagnitude < dtrmSqTargetPositionReach ) {

                    legsState = LegsState.Idle;
                    SendTargetReachMessage();
                    StopMovement();

                }
                break;

            case LegsState.PursuingTarget:

                if ( ( targetActor.position - myPosition.position ).sqrMagnitude < dtrmSqTargetPositionReach ) {

                    legsState = LegsState.Idle;
                    SendTargetReachMessage();
                    StopMovement();

                }
                break;

            case LegsState.FollowingTarget:
                Debug.LogWarning("Shouldn't be checking target reach in this state!");
                break;

            default:
                Debug.LogError("Unknown state!");
                break;

        }
    }
Exemplo n.º 10
0
 public void Stop()
 {
     legsState = LegsState.Idle;
     StopMovement();
 }
Exemplo n.º 11
0
 public void PursueTarget(DTRMPosition target)
 {
     legsState = LegsState.PursuingTarget;
     targetActor = target;
 }
Exemplo n.º 12
0
 public void Stop()
 {
     legsState = LegsState.Idle;
     StopMovement();
 }
Exemplo n.º 13
0
 public void FollowTarget(DTRMPosition target)
 {
     legsState   = LegsState.FollowingTarget;
     targetActor = target;
 }
Exemplo n.º 14
0
 public void PursueTarget(DTRMPosition target)
 {
     legsState   = LegsState.PursuingTarget;
     targetActor = target;
 }
Exemplo n.º 15
0
 public override void DTRMStart()
 {
     legsListeners = GetComponents(typeof(ILegsListener));
     legsState     = LegsState.Idle;
 }