Example #1
0
    private void OnTriggerStay2D(Collider2D collision)
    {
        if (CurrentState == OldManState02.GOING1 && collision.gameObject.GetInstanceID() == plant1Target.GetInstanceID())
        {
            NextState = OldManState02.PICKINGPLANT1;
        }

        if (CurrentState == OldManState02.GOING2 && collision.gameObject.GetInstanceID() == plant2Target.GetInstanceID())
        {
            NextState = OldManState02.PICKINGPLANT2;
        }

        if (CurrentState == OldManState02.GOING3 && collision.gameObject.GetInstanceID() == plant3Target.GetInstanceID())
        {
            NextState = OldManState02.PICKINGPLANT3;
        }

        if (CurrentState == OldManState02.RETURN1 || CurrentState == OldManState02.RETURN2 || CurrentState == OldManState02.RETURN3)
        {
            int plant = CurrentState == OldManState02.RETURN1 ? 1 : CurrentState == OldManState02.RETURN2 ? 2 : 3;

            if (collision.gameObject.GetInstanceID() == cauldronTarget.GetInstanceID())
            {
                FindObjectOfType <Cauldron>().AddPlant(plant);
                NextState = OldManState02.IDLE;
            }
        }
    }
Example #2
0
    IEnumerator PickPlant(int plant)
    {
        Coroutine c = StartCoroutine(PlayFlowersSound());

        yield return(new WaitForSeconds(2f));

        if (plant == 1)
        {
            NextState = OldManState02.RETURN1;
        }
        if (plant == 2)
        {
            NextState = OldManState02.RETURN2;
        }
        if (plant == 3)
        {
            NextState = OldManState02.RETURN3;
        }
        StopCoroutine(c);
    }
Example #3
0
 public override void Interact(Action action, Clickable target)
 {
     if (action == Action.PICKUP_PLANT)
     {
         Cauldron c = FindObjectOfType <Cauldron>();
         if (!c.IsFull())
         {
             if (target.GetType() == typeof(Plant1))
             {
                 NextState = OldManState02.GOING1;
             }
             else if (target.GetType() == typeof(Plant2))
             {
                 NextState = OldManState02.GOING2;
             }
             else
             {
                 NextState = OldManState02.GOING3;
             }
         }
     }
 }
Example #4
0
    private void Update()
    {
        if (NextState == OldManState02.GOING1 || NextState == OldManState02.GOING2 || NextState == OldManState02.GOING3 || NextState == OldManState02.RETURN1 ||
            NextState == OldManState02.RETURN2 || NextState == OldManState02.RETURN3)
        {
            RandomMovement rm = GetComponent <RandomMovement>();
            if (rm)
            {
                rm.StopAllCoroutines();
            }
        }

        if (NextState == OldManState02.PICKINGPLANT1)
        {
            StartCoroutine(PickPlant(1));
        }

        if (NextState == OldManState02.PICKINGPLANT2)
        {
            StartCoroutine(PickPlant(2));
        }

        if (NextState == OldManState02.PICKINGPLANT3)
        {
            StartCoroutine(PickPlant(3));
        }

        if (NextState != OldManState02.NONE && NextState != CurrentState)
        {
            CurrentState = NextState;
            NextState    = OldManState02.NONE;
        }

        if (CurrentState == OldManState02.GOING1)
        {
            MoveTowardsTarget(plant1Target.transform.position);
        }

        if (CurrentState == OldManState02.GOING2)
        {
            MoveTowardsTarget(plant2Target.transform.position);
        }

        if (CurrentState == OldManState02.GOING3)
        {
            MoveTowardsTarget(plant3Target.transform.position);
        }

        if (CurrentState == OldManState02.RETURN1)
        {
            MoveTowardsTarget(cauldronTarget.transform.position);
        }

        if (CurrentState == OldManState02.RETURN2)
        {
            MoveTowardsTarget(cauldronTarget.transform.position);
        }

        if (CurrentState == OldManState02.RETURN3)
        {
            MoveTowardsTarget(cauldronTarget.transform.position);
        }

        WalkAnimation();


        previousPosition = transform.position;
    }