public LastGameInfo(IkonComposite ikstonData) : this() { this.StartConditions = ikstonData.ToOrDefault(StartingConditionsKey, x => new StartingConditions(x.To <IkonComposite>()), null); this.StarPositionerConfig = ikstonData.ToOrDefault(StarPositionerKey, x => x.To <IkonArray>(), null); this.StarConnectorConfig = ikstonData.ToOrDefault(StarConnectorKey, x => x.To <IkonArray>(), null); this.StarPopulatorConfig = ikstonData.ToOrDefault(StarPopulatorKey, x => x.To <IkonArray>(), null); }
internal static LastGameInfo Load(IkonComposite ikstonData) { return(new LastGameInfo { StartConditions = ikstonData.ToOrDefault(StartingConditionsKey, x => StartingConditions.Load(x.To <IkonComposite>()), null), PlayersConfig = ikstonData.ToOrDefault(PlayersKey, x => x.To <IkonComposite[]>(), null), StarPositionerConfig = ikstonData.ToOrDefault(StarPositionerKey, x => x.To <IkonArray>(), null), StarConnectorConfig = ikstonData.ToOrDefault(StarConnectorKey, x => x.To <IkonArray>(), null), StarPopulatorConfig = ikstonData.ToOrDefault(StarPopulatorKey, x => x.To <IkonArray>(), null) }); }
internal static LastGameInfo Load(IkonComposite ikstonData) { var conditions = ikstonData.ToOrDefault(StartingConditionsKey, x => StartingConditions.Load(x.To <IkonComposite>()), null); if (conditions == null) { return(new LastGameInfo()); } var info = new LastGameInfo { StartConditions = conditions, StarPositionerConfig = ikstonData.ToOrDefault(StarPositionerKey, x => x.To <IkonArray>(), null), StarConnectorConfig = ikstonData.ToOrDefault(StarConnectorKey, x => x.To <IkonArray>(), null), StarPopulatorConfig = ikstonData.ToOrDefault(StarPopulatorKey, x => x.To <IkonArray>(), null) }; return(info); }