Beispiel #1
0
 public void PotatoStolen()
 {
     if (State == PotatoState.BeingTaken)
     {
         State = PotatoState.Stolen;
     }
 }
Beispiel #2
0
    public void InitializePotato()
    {
        //Initial state of potato
        State = PotatoState.Safe;

        //Starting position on Potato Pile
        positionOnPile = transform.position;
    }
Beispiel #3
0
    public void ReturnToPile()
    {
        if (State == PotatoState.BeingTaken)
        {
            State = PotatoState.ReturningToPile;

            //Return the potate back to the pile
            returnToPileCoroutine = StartCoroutine(ReturnToPileRoutine());
        }
    }
Beispiel #4
0
    public void StealPotato()
    {
        if (State == PotatoState.Safe || State == PotatoState.ReturningToPile)
        {
            State = PotatoState.BeingTaken;

            if (returnToPileCoroutine != null)
            {
                StopCoroutine(returnToPileCoroutine);
            }
        }
    }
Beispiel #5
0
    private IEnumerator ReturnToPileRoutine()
    {
        while (Vector3.Distance(transform.position, positionOnPile) >= 0.1f)
        {
            //Move back to pile
            transform.position = Vector3.MoveTowards(transform.position, positionOnPile, 0.1f);

            yield return(null);
        }

        State = PotatoState.Safe;

        returnToPileCoroutine = null;
    }