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); } }
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(); } }