public void Visit(SelectorParameter parameter) { var parameterControl = new MapParameterSelector(); parameterControl.SetData(parameter, this.changeListener); this.result = parameterControl; }
public RybStarPopulator() { TaggableQueue <object, IkadnBaseObject> data; using (var parser = new IkonParser(new StreamReader(MapsFolder + ParametersFile))) data = parser.ParseAll(); var starTypes = new List <StarType>(); while (data.CountOf(StarTypeKey) > 0) { var starTypeData = data.Dequeue(StarTypeKey).To <IkonComposite>(); starTypes.Add(new StarType( extractColor(starTypeData[StarColorKey].To <IkonArray>()), starTypeData[StarMinRadiationKey].To <double>(), starTypeData[StarMaxRadiationKey].To <double>() )); } this.starTypes = starTypes.ToArray(); this.climateParameter = new SelectorParameter(LanguageContext, "climate", new Dictionary <int, string>() { { 0, "hostileClimate" }, { 1, "normalClimate" }, { 2, "paradiseClimate" }, }, 1); }
public void Initialize(string dataPath) { TaggableQueue <object, IkadnBaseObject> data; using (var parser = new IkonParser(new StreamReader(dataPath + ParametersFile))) data = parser.ParseAll(); degreesParameter = loadDegrees(data); }
public ProximityLanesBuilder() { TaggableQueue <object, IkadnBaseObject> data; using (var parser = new IkonParser(new StreamReader(MapsFolder + ParametersFile))) data = parser.ParseAll(); degreesParameter = loadDegrees(data); }
public void SetData(SelectorParameter parameterInfo, Action changeListener) { this.parameter = parameterInfo; this.changeListener = changeListener; this.nameLabel.Text = parameterInfo.Name; foreach (var valueInfo in parameterInfo) { valueSelector.Items.Add(new Tag <int>(valueInfo.Key, valueInfo.Value)); } valueSelector.SelectedIndex = parameterInfo.Value; }
public void Initialize(string dataPath) { LabeledQueue <object, IkadnBaseObject> data; using (var parser = new IkonParser(new StreamReader(dataPath + ParametersFile))) data = parser.ParseAll(); var constants = data.Dequeue(ConstantsKey).To <IkonComposite>(); this.starDistance = constants[StarDistanceKey].To <double>(); this.homeSystemDistance = constants[HomeSystemDistance].To <double>(); this.emptyPositionsRatio = constants[EmptyPositionsRatio].To <double>(); this.sizeParameter = loadSizes(data); this.displacementParameter = new ContinuousRangeParameter(LanguageContext, "displacement", 0, 0.5, constants[DefaultDisplacementKey].To <double>(), displacementPercentage); }
public void Visit(SelectorParameter parameter) { parameter.Value = this.data.Dequeue().To <int>(); }
public void Initialize(string dataPath) { LabeledQueue <object, IkadnBaseObject> queue; IkadnBaseObject homeStarData; using (var parser = new IkonParser(new StreamReader(dataPath + ParametersFile))) { queue = parser.ParseAll(); homeStarData = parser.GetNamedObject("HomeStar"); } var generalData = queue.Dequeue("General").To <IkonComposite>(); var ranges = generalData["ranges"].To <double[][]>(); this.MinScore = generalData["minScore"].To <double>(); this.MaxScore = generalData["maxScore"].To <double>(); this.planetTraitIdGroups = generalData["traitGroups"].To <string[][]>(); this.homeworldSize = generalData["homeworldSize"].To <double>(); this.homeworldPosition = generalData["homeworldPosition"].To <int>(); this.homeworldTraits = generalData["homeworldTraits"].To <string[]>(); this.traitConditions = new Dictionary <string, Formula>(); var conditions = generalData["traitConditions"].To <IkonComposite>(); foreach (var traitId in conditions.Keys) { var parser = new ExpressionParser(conditions[traitId].To <string>()); parser.Parse(); if (parser.errors.count > 0) { throw new FormatException(parser.errors.errorMessages.ToString()); } this.traitConditions[traitId] = parser.ParsedFormula; } var climates = new List <ClimateLevel>(); while (queue.CountOf(ClimateLevelKey) > 0) { var data = queue.Dequeue(ClimateLevelKey).To <IkonComposite>(); climates.Add(new ClimateLevel( data["langCode"].To <string>(), data["rangeWeights"].To <double[]>().Select((x, i) => new WeightedRange(ranges[i][0], ranges[i][1], x)).ToArray(), data["homeSystemStart"].To <double>() )); } climateLevels = climates.ToArray(); var potentials = new List <PotentialLevel>(); while (queue.CountOf(PotentialLevelKey) > 0) { var data = queue.Dequeue(PotentialLevelKey).To <IkonComposite>(); potentials.Add(new PotentialLevel( data["langCode"].To <string>(), data["rangeWeights"].To <double[]>().Select((x, i) => new WeightedRange(ranges[i][0], ranges[i][1], x)).ToArray(), data["homeSystemPotential"].To <double>() )); } potentialLevels = potentials.ToArray(); var starTypes = new List <StarType>(); while (queue.CountOf(StarTypeKey) > 0) { var data = queue.Dequeue(StarTypeKey).To <IkonComposite>(); var type = new StarType( extractColor(data["color"].To <IkonArray>()), data["minSize"].To <double>(), data["maxSize"].To <double>(), data["traits"].To <string[]>() ); starTypes.Add(type); if (data == homeStarData) { this.homeStarType = type; } } this.starTypes = starTypes.ToArray(); //TODO(v0.8) why Dictionary<int, string>? this.climateParameter = new SelectorParameter( LanguageContext, "climate", climates.Select((x, i) => i).ToDictionary(i => i, i => climates[i].LanguageCode), generalData["defaultClimate"].To <int>() ); this.potentialParameter = new SelectorParameter( LanguageContext, "potential", potentials.Select((x, i) => i).ToDictionary(i => i, i => potentials[i].LanguageCode), generalData["defaultPotential"].To <int>() ); }
public void Visit(SelectorParameter parameter) { this.data.Add(new IkonInteger(parameter.Value)); }