/// <summary> /// Populates the component with the settings defined in the ASL script. /// </summary> /// public void SetASLSettings(ASLSettings settings) { this.treeCustomSettings.BeginUpdate(); this.treeCustomSettings.Nodes.Clear(); var values = new Dictionary<string, bool>(); // Store temporary for easier lookup of parent nodes var flat = new Dictionary<string, TreeNode>(); foreach (ASLSetting setting in settings.OrderedSettings) { var node = new TreeNode(setting.Label) { Tag = setting, Checked = setting.Value }; if (setting.Parent == null) { this.treeCustomSettings.Nodes.Add(node); } else if (flat.ContainsKey(setting.Parent)) { flat[setting.Parent].Nodes.Add(node); flat[setting.Parent].ContextMenuStrip = this.treeContextMenu; } flat.Add(setting.Id, node); values.Add(setting.Id, setting.Value); } // Gray out deactivated nodes after all have been added foreach (var item in flat) { if (!item.Value.Checked) { UpdateGrayedOut(item.Value); } } _default_values = values; // Update from saved state (from XML or stored between script reloads) UpdateNodeCheckedState(_custom_settings_state); treeCustomSettings.ExpandAll(); treeCustomSettings.EndUpdate(); UpdateCustomSettingsVisibility(); InitBasicSettings(settings); }
public ASLScript(Methods methods, Dictionary<string, List<ASLState>> states) { _methods = methods; _states = states; _settings = new ASLSettings(); _vars = new ExpandoObject(); if (!_methods.start.IsEmpty) _settings.AddBasicSetting("start"); if (!_methods.split.IsEmpty) _settings.AddBasicSetting("split"); if (!_methods.reset.IsEmpty) _settings.AddBasicSetting("reset"); _uses_game_time = !_methods.isLoading.IsEmpty || !_methods.gameTime.IsEmpty; }
public ASLScript(Methods methods, Dictionary <string, List <ASLState> > states) { _methods = methods; _states = states; _settings = new ASLSettings(); Vars = new ExpandoObject(); if (!_methods.start.IsEmpty) { _settings.AddBasicSetting("start"); } if (!_methods.split.IsEmpty) { _settings.AddBasicSetting("split"); } if (!_methods.reset.IsEmpty) { _settings.AddBasicSetting("reset"); } _uses_game_time = !_methods.isLoading.IsEmpty || !_methods.gameTime.IsEmpty; }
public ASLSettingsReader(ASLSettings s) { _s = s; }
public ASLSettingsBuilder(ASLSettings s) { _s = s; }
public ASLSettingsReader(ASLSettings s) { _s = s; }
public ASLSettingsBuilder(ASLSettings s) { _s = s; }
private void InitBasicSettings(ASLSettings settings) { foreach (var item in _basic_settings) { string name = item.Key.ToLower(); CheckBox checkbox = item.Value; if (settings.IsBasicSettingPresent(name)) { ASLSetting setting = settings.BasicSettings[name]; checkbox.Enabled = true; checkbox.Tag = setting; var value = true; if (_basic_settings_state.ContainsKey(name)) value = _basic_settings_state[name]; checkbox.Checked = value; setting.Value = value; } else { checkbox.Tag = null; checkbox.Enabled = false; checkbox.Checked = false; } } }