public Card(CardParameters p) { Name = p.Name; ManaCost = p.ManaCost; OverrideScore = p.OverrideScore; Text = p.Text; FlavorText = p.FlavorText; Illustration = p.Illustration; MayChooseNotToUntap = p.MayChooseToUntap; MinimalBlockerCount = p.MinimalBlockerCount; ProducableManaColors = p.ManaColorsThisCardCanProduce; Position = p.Position; Source = p.Source; Color = p.Color; Rotation = p.Rotation; Scale = p.Scale; ImageTexture = p.ImageTexture; borderPreview = p.BorderTextures; _strenght = new Strenght(p.Power, p.Toughness); _level = new Level(p.IsLeveler ? 0 : (int?)null); //_counters = new Counters(_strenght); _type = new CardTypeCharacteristic(p.Type); _colors = new CardColors(p.Colors); //_protections = new Protections(p.ProtectionsFromColors, p.ProtectionsFromTypes); //_simpleAbilities = new SimpleAbilities(p.SimpleAbilities); //_triggeredAbilities = new TriggeredAbilities(p.TriggeredAbilities); //_activatedAbilities = new ActivatedAbilities(p.ActivatedAbilities); //_staticAbilities = new StaticAbilities(p.StaticAbilities); //_castRules = new CastRules(p.CastInstructions); //_combatRules = new CombatRules(p.CombatRules); //_continuousEffects = new ContiniousEffects(p.ContinuousEffects); JoinedBattlefield = new TrackableEvent(this); LeftBattlefield = new TrackableEvent(this); }
public Card CreateCard() { var p = new CardParameters(); foreach (var action in _init) { action(p); } //if (p.Colors.Count == 0) //{ // p.Colors.AddRange(GetCardColorsFromManaCost(p.ManaCost)); //} //if (p.CastInstructions.Count == 0) //{ // var castParams = GetDefaultCastInstructionParameters(p); // SetDefaultTimingRules(p, castParams); // p.CastInstructions.Add(new CastRule(castParams)); //} return new Card(p); }