示例#1
0
    private void DoAction(GameObject goalObject)
    {
        CreatureAction action = null;
        Item           item   = goalObject.GetComponent <Item>();

        if (item == null)
        {
            return;
        }
        switch (item.itemType)
        {
        case ItemType.CardboardBox:
            break;

        case ItemType.Furniture:
            action = new FurnitureCatAction().AsCreatureAction();
            break;

        case ItemType.Foodbowl:
            var bowl = item.GetComponent <BowlScript>();
            action = bowl.CatAction;
            break;
        }
        if (action != null)
        {
            action(this, item);
        }
    }
示例#2
0
    private void DoRepeatingAction(GameObject goalObject)
    {
        Action action = null;
        Item   item   = goalObject.GetComponent <Item>();

        if (item == null)
        {
            return;
        }
        switch (item.itemType)
        {
        case ItemType.Furniture:
            action = new FurnitureCatAction();
            break;
        }
        if (action != null)
        {
            action.Execute(this.gameObject, item);
            damageEffect.Play();
        }
    }