public Card(string name, Faction faction, GameAction mainAction, GameAction allyAction = null, GameAction trashAction = null) { Name = name; Faction = faction; MainAction = mainAction; AllyAction = allyAction; TrashAction = trashAction; }
void InterpretAction(GameAction action, GameState state) { if (action is MoneyAction) { state.Money += (action as MoneyAction).Money; } else if (action is AttackAction) { state.Attack += (action as AttackAction).Attack; } else { throw new NotImplementedException(action.FriendlyName); } }