public Card(XElement definition, string jsonType) { this.definition = definition; this.JsonType = jsonType; Id = (int)definition.Attribute("Id"); Name = (string)definition.Element("Name"); Text = definition.Element("Text").Value; Image = (string)definition.Attribute("Image"); AnytimeAction = definition.Descendants("AnytimeAction").Select(x => AnytimeAction.Create(x, this.Id)).FirstOrDefault(); GameEndPoints = definition.Elements("VictoryPointCalculator").Select(g => PointCalculator.Create(g, this)).ToArray(); Events = definition.Elements("Event").Select(TriggeredEvent.Create).ToArray(); OnPlayEvents = definition.Descendants("OnPlay").Select(GameEvent.Create).ToArray(); var costs = definition.Grandchildren("Costs", "Option").Select(CardCost.Create).ToArray(); Costs = (costs.Length == 0 ? new CardCost[] { new FreeCardCost() } : costs).ToImmutableArray <CardCost>(); BakeProperties = definition.Descendants("Bake").Select(x => ResourceConversion.Create(x, Id)).FirstOrDefault(); ResourceConversions = definition.Grandchildren("ResourceConversions", "ResourceConversion").Select(x => ResourceConversion.Create(x, Id)).ToArray(); Prerequisites = definition.Elements("Prerequisite").Select(Prerequisite.Create).ToArray(); Deck deck; if (Enum.TryParse((string)definition.Attribute("Deck"), out deck)) { this.Deck = deck; } CacheExchanges = definition.Grandchildren("TakeCacheExchange", "CacheExchange").Select(x => CacheExchange.Create(x, Id)).ToArray(); }
public ValuesController(IMeuServicoApplicationService _meuServico, CacheExchange cacheExchange) { this._meuServico = _meuServico; this._cacheExchange = cacheExchange; }