private IEnumerator PerformActionRoutine(ItemAction action) { yield return(StartCoroutine(action.GetTarget())); action.Perform(); OnEnable(); // Refresh the screen }
public override void Perform() { manager.Remove(item); manager.Add(innerAction.item); innerAction.Perform(); GameObject target = CharacterController.instance.controlledMovement.gameObject; MarkedStatus.InflictMarkedStatus(target, markRadius, markDuration); }
private void EquipWeapon(InventoryItem inventoryItem) { List <ItemAction> actions = inventoryItem.actions; ItemAction equipAction = actions.Find((action) => action.actionString.Equals("Equip")); if (equipAction != null) { equipAction.Perform(); } }