public void Resolve(params Hero[] heroes) { switch (type) { case ResultType.Action: action?.Invoke(); break; case ResultType.Penalty: foreach (var hero in heroes) { penalty.Apply(hero); } break; case ResultType.Reward: foreach (var hero in heroes) { reward.Apply(hero); } break; } }