private void Awake() { texture = new Texture2D(width, height, TextureFormat.ARGB32, false, true) { filterMode = FilterMode.Point }; texture.Clear(Color.clear); texture.Apply(); image.texture = texture; header = InstantiateControl <TextControl>(leftPanel); header.transform.SetAsFirstSibling(); var rulesetName = RulesetName.Life; SelectRuleset(rulesetName); for (int i = 0; i < rulesetNames.Length; i++) { RulesetName currentName = rulesetNames[i]; var toggle = InstantiateControl <ToggleControl>(toggleGroup.transform); toggle.Initialize( header: currentName.ToString(), value: currentName == rulesetName, onValueChanged: isOn => { if (isOn) { SelectRuleset(currentName); Generate(); } }, toggleGroup: toggleGroup); } InstantiateControl <SliderControl>(leftPanel).Initialize("Start noise", 0, 1, startNoise, value => { startNoise = value; Generate(); }); InstantiateControl <ToggleControl>(leftPanel).Initialize("Alive borders", aliveBorders, value => { aliveBorders = value; Generate(); }); InstantiateControl <ButtonControl>(leftPanel).Initialize("Generate", Generate); Generate(); }
private void InstantiateToggle(RulesetName rulesetName, RulesetName selectedRulesetName) { var toggle = InstantiateControl <ToggleControl>(toggleGroup.transform); toggle.Initialize( header: rulesetName.ToString(), value: rulesetName == selectedRulesetName, onValueChanged: isOn => { if (isOn) { SelectRuleset(rulesetName); Generate(); } }, toggleGroup: toggleGroup); }
public RulesetList(IReadOnlyServiceLocator serviceLocator) { //RulesetNameとの相互依存関係を明確化する IGameInstanceFactory[] factories = new IGameInstanceFactory[] { new DefaultGameInstanceFactory <Domain.Entities.StandardizedRule.StandardizedRuleGame>(firstPlayerEncampment => new Domain.Entities.StandardizedRule.StandardizedRuleGame(firstPlayerEncampment, serviceLocator)), new DefaultGameInstanceFactory <Domain.Entities.StandardizedRule.StandardizedRuleGame>(firstPlayerEncampment => new Domain.Entities.StandardizedRule.StandardizedRuleGame(firstPlayerEncampment, serviceLocator)), new DefaultGameInstanceFactory <Domain.Entities.NoRule.NoRuleGame>(firstPlayerEncampment => new Domain.Entities.NoRule.NoRuleGame(firstPlayerEncampment)), }; int i = 0; rulesets = factories.Select(factory => { RulesetName rulesetName = (RulesetName)i; return(new Ruleset(i++, rulesetName.ToString(), "", factory)); }).ToDictionary(ruleset => ruleset.id); }
private void SelectRuleset(RulesetName rulesetName) { config.ruleset = nameToRuleset[rulesetName]; header.Initialize("Rulestring: " + config.ruleset); }
private void SelectRuleset(RulesetName rulesetName) { ruleset = nameToRuleset[rulesetName]; header.Initialize("Rulestring: " + ruleset); }
public Ruleset GetRuleset(RulesetName rulesetName) => GetRuleset((int)rulesetName);