Beispiel #1
0
    private void DoSameActionOnPath()
    {
        animator.SetBool("idle", true);
        animator.SetBool("walk", false);

        isDoingAction = false;

        if (currentPointAction != null)
        {
            currentPointAction.SetAsDone();
        }

        if (path.HasAnotherPoint)
        {
            currentPointAction = path.GetNextPoint();
            DoAction(currentPointAction);
        }
    }
Beispiel #2
0
    private void DoAction(PathActionPoint pathActionPoint)
    {
        isDoingAction = true;

        switch (pathActionPoint.Type)
        {
        case PathActionPointType.GoToNext:
            MoveToTarget(pathActionPoint.transform.position);
            break;

        case PathActionPointType.GoToFirst:
            MoveToTarget(path.GetFirstActionPoint().transform.position);
            break;

        case PathActionPointType.Wait:
            DoWait();
            break;

        case PathActionPointType.Rotate:
            DoRotate();
            break;

        case PathActionPointType.ChangePath:
            DoChangePath();
            break;

        case PathActionPointType.RestartPath:
            currentPointAction = null;
            path.RestartPath();
            DoNextActionOnPath();
            break;

        default:
            break;
        }
    }
Beispiel #3
0
    private void OnDrawGizmos()
    {
        PathActionPoint pathActionPoint = this;

        UnityEditor.Handles.Label(pathActionPoint.transform.position, "" + pathActionPoint.type);
    }