public void TriggerActionPoint(ActionPointType actionPointType, ActionExecution action) { if (ActionPoints.ContainsKey(actionPointType) && ActionPoints[actionPointType].Listeners.Count > 0) { for (int i = ActionPoints[actionPointType].Listeners.Count - 1; i >= 0; i--) { var item = ActionPoints[actionPointType].Listeners[i]; item.Invoke(action); } } }
private void WhenReceiveDamage(ActionExecution combatAction) { //Log.Debug($"{GetType().Name}->WhenReceiveDamage"); NoDamageTimer.Reset(); }
public void ReceiveDamage(ActionExecution combatAction) { var damageAction = combatAction as DamageAction; CurrentHealth.Minus(damageAction.DamageValue); }
public void ReceiveCure(ActionExecution combatAction) { var cureAction = combatAction as CureAction; CurrentHealth.Add(cureAction.CureValue); }
public void TriggerActionPoint(ActionPointType actionPointType, ActionExecution action) { GetComponent <ActionPointManageComponent>().TriggerActionPoint(actionPointType, action); }