public void Load(IContainer game, Ability ability) { var parameter = DrawCardsActionParameter.FromString(ability.GetParams(nameof(DrawCardsAction))); Amount = parameter.Amount; UsePlayerAction = false; var allyPlayer = ability.Owner.Owner; var enemyPlayer = game.Match.Players.Single(p => ability.Owner.Owner.Index != p.Index); Player = parameter.WhichPlayer == Alliance.Ally ? allyPlayer : enemyPlayer; }
public static IActionParameterEditor CreateEditor(ActionDefinition actionDef) { switch (actionDef.ActionName) { case nameof(DamagePlayerAction): return(new DamageActionParameterEditor(DamageActionParameter.FromString(actionDef.Params))); case nameof(DrawCardsAction): return(new DrawCardsActionParameterEditor(DrawCardsActionParameter.FromString(actionDef.Params))); case nameof(DamagePlayerOrCreatureAction): return(new DamagePlayerOrCreatureActionParameterEditor(DamagePlayerOrCreatureParameter.FromString(actionDef.Params))); case nameof(ShuffleDeckAction): return(new ShuffleDeckActionParameterEditor(ShuffleDeckActionParameter.FromString(actionDef.Params))); } return(null); }
public DrawCardsActionParameterEditor(DrawCardsActionParameter parameter) { _parameter = parameter; }