Ejemplo n.º 1
0
    void CollectResource(GameObject obj)
    {
        ResourceSource source = obj.GetComponent <ResourceSource>();

        switch (CurrentState)
        {
        case PlayerState.EmptyHand:
            if (source.GetTypeOfSource() == TypeOfSource.Feed)
            {
                GameObject held = source.GetHeldObject();
                if (held == null)
                {
                    break;
                }

                held.GetComponent <HeldObject>().SetNumUnitsHeld(source.UnitsTakenFromSource());
                PickupObject(held);
            }
            break;

        case PlayerState.HoldingObject:
            if (source.GetTypeOfSource() == TypeOfSource.Water)
            {
                HeldObject held = ObjectInHand.GetComponent <HeldObject>();
                if (held.GetTypeOfObject() != TypeOfObject.Bucket || held.IsCarryingUnits())
                {
                    break;
                }
                held.SetNumUnitsHeld(source.UnitsTakenFromSource());
                held.ChangeObjectState();
                FindObjectOfType <AudioManager>().Play("wellSFX");
            }
            break;
        }
    }