public void walkTargetTriggered(int walkTargetId)
 {
     if (walkTargetId == currentTarget.transformId)
     {
         //TODO how to handle when you are at the end of the list and getNextWalkTarget returns null
         currentTarget = walkTargetProvider.getNextWalkTarget(currentTarget, walkDirection);
     }
 }
Beispiel #2
0
    public WalkTarget getWalkTarget()
    {
        WalkTarget walkTarget = new WalkTarget();

        walkTarget.transformId = targetId;
        walkTarget.transform   = transform;

        return(walkTarget);
    }
    public void Awake()
    {
        walkTargetProvider = walkTargetProviderSelector.getPlayerWalkTargetProvider();
        walkDirection      = walkTargetProvider.getStartingWalkDirection();
        currentTarget      = walkTargetProvider.getStartingTarget();
        //Set the position of the player to the first position, to prep for the walk to the second target.
        transform.position = currentTarget.transform.position;
        currentTarget      = walkTargetProvider.getNextWalkTarget(currentTarget, walkDirection);
        transform.LookAt(currentTarget.transform);

        animator = GetComponent <Animator>();

        ActionController actionController = Singleton <ActionController> .Instance;

        actionController.registerMovementListener(move);
    }
Beispiel #4
0
    public WalkTarget getNextWalkTarget(WalkTarget currentTarget, WalkDirection walkDirection)
    {
        if (currentTarget.transformId == 0 && walkDirection == WalkDirection.BACKWARD)
        {
            return(null);
        }
        else if (currentTarget.transformId == walkTargets.Length && walkDirection == WalkDirection.FORWARD)
        {
            return(null);
        }

        switch (walkDirection)
        {
        case WalkDirection.FORWARD:
            return(walkTargets[currentTarget.transformId + 1]);

        case WalkDirection.BACKWARD:
            return(walkTargets[currentTarget.transformId - 1]);

        default:
            return(null);
        }
    }