/// <summary> /// Retrieve fields to instanciate a Wonder. /// </summary> /// <param name="wonderDAO">The object containing the wonder information.</param> /// <returns>A new Wonder</returns> private static Wonder GetWonder(WonderDAO wonderDAO) { return(new Wonder( wonderDAO.ID, wonderDAO.Name, wonderDAO.Side, (Card.ResourceType)wonderDAO.BaseResource, GetSteps(wonderDAO) )); }
/// <summary> /// Cast a WonderDAO steps array into the Wonder applicable steps array. /// </summary> /// <param name="wonderDAO">The object containing the steps information.</param> /// <returns>The list of wonder steps.</returns> private static List <Step> GetSteps(WonderDAO wonderDAO) { List <Step> steps = new List <Step>(); foreach (WonderDAO.StepDAO stepDAO in wonderDAO.Steps) { steps.Add(new Step( CardsDAO.GetResources(stepDAO.StepBuildCondition.ToList()), stepDAO.StepTypes.Cast <StepType>().ToArray(), stepDAO.Reward != null ? CardsDAO.GetReward(stepDAO.Reward.ToList()): new BonusCard.RewardQuantity[0], stepDAO.WarPoints, (AcquisitionType)stepDAO.TradeType, (BonusCard.ResourceMetaType)stepDAO.Resources, (BuilderType)stepDAO.BuildType )); } return(steps); }