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);
    }
Example #3
0
 public DrawCardsActionParameterEditor(DrawCardsActionParameter parameter)
 {
     _parameter = parameter;
 }