public bool Expend(float amount) { StaminaExpense expense = new StaminaExpense(); expense.cost = amount; foreach (StaminaFilter filter in filters) { filter.FilterExpense(expense, this); } if (expense.canAfford) { currentStamina -= expense.cost; } return(expense.canAfford); }
public void FilterExpense(StaminaExpense expense, Stamina stamina) { expense.canAfford = expense.cost <= stamina.currentStamina; }
public void FilterExpense(StaminaExpense expense, Stamina stamina) { expense.cost = 0; }