private void CreateEditorControls(MudData.FormulaAction containerAction, string archetypeName) { ContainerPanel.Controls.Clear(); Control ctl = null; MudData.FormulaAction action = containerAction.InternalAction; if (action == null) action = containerAction; if (action.GetType() == typeof(MudData.FormulaActionAddToList)) { ctl = new ScriptActionControlAddToList(action as MudData.FormulaActionAddToList); } else if (action.GetType() == typeof(MudData.FormulaActionCreateListMember)) { ctl = new ScriptActionControlCreateListMember(action as MudData.FormulaActionCreateListMember); } else if (action.GetType() == typeof(MudData.FormulaActionForEach)) { ctl = new ScriptActionControlForEach(action as MudData.FormulaActionForEach, archetypeName); } else if (action.GetType() == typeof(MudData.FormulaActionIf)) { ctl = new ScriptActionControlIf(action as MudData.FormulaActionIf, archetypeName); } else if (action.GetType() == typeof(MudData.FormulaActionListTransfer)) { ctl = new ScriptActionControlListTransfer(action as MudData.FormulaActionListTransfer); } else if (action.GetType() == typeof(MudData.FormulaActionListRemove)) { ctl = new ScriptActionControlListRemove(action as MudData.FormulaActionListRemove); } else if (action.GetType() == typeof(MudData.FormulaActionRepeatEvent)) { ctl = new ScriptActionControlRepeatEvent(action as MudData.FormulaActionRepeatEvent); } else if (action.GetType() == typeof(MudData.FormulaActionSetGoalState)) { ctl = new ScriptActionControlSetGoalState(action as MudData.FormulaActionSetGoalState, archetypeName); } else if (action.GetType() == typeof(MudData.FormulaActionSetProperty)) { ctl = new ScriptActionControlSetProperty(action as MudData.FormulaActionSetProperty); } else if (action.GetType() == typeof(MudData.FormulaActionTriggerEvent)) { ctl = new ScriptActionControlTriggerEvent(action as MudData.FormulaActionTriggerEvent); } if (ctl != null) { ContainerPanel.Controls.Add(ctl); ctl.Dock = DockStyle.Fill; } else { MessageBox.Show("Missing support for actions of this type: " + action.GetType().ToString(), "FormulaEdit", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
internal ScriptActionControlAddToList(MudData.FormulaActionAddToList action) { InitializeComponent(); TargetComboBox.Text = action.target; ListComboBox.Text = action.list; HostComboBox.Text = action.@object; }
internal ScriptActionControlSetProperty(MudData.FormulaActionSetProperty action) { InitializeComponent(); PropertyComboBox.Text = action.property; FormulaTextBox.Text = action.value; ObjectComboBox.Text = action.target; }
internal ScriptActionControlListTransfer(MudData.FormulaActionListTransfer action) { InitializeComponent(); ScriptableComboBox.Text = action.scriptable; OriginListComboBox.Text = action.list; TargetComboBox.Text = action.target; TargetListComboBox.Text = action.targetList; FilterConditionTextBox.Text = action.condition; }
internal ScriptActionControlIf(MudData.FormulaActionIf action, string archetypeName) { InitializeComponent(); EditingArchetypeName = archetypeName; ConditionTextBox.Text = action.condition; ScriptActionEditControl.PopulatePanel(action.actions, ActionsFlowPanel, EditingArchetypeName); ScriptActionEditControl.PopulatePanel(action.@else, ElseActionsFlowPanel, EditingArchetypeName); }
internal ScriptActionEditControl(MudData.FormulaAction containerAction, string archetypeName) { InitializeComponent(); EditingArchetypeName = archetypeName; ActionComboBox.SelectedItem = containerAction.action; CreateEditorControls(containerAction, archetypeName); Paint += ScriptActionEditControl_Paint; }
internal ScriptActionControlRepeatEvent(MudData.FormulaActionRepeatEvent action) { InitializeComponent(); EventComboBox.Text = action.@event; RepeatCountTextBox.Text = action.count; foreach (var kvp in action.@params) { ParamDataGridView.Rows.Add(new object[] { kvp.Key, kvp.Value }); } }
internal ScriptActionControlCreateListMember(MudData.FormulaActionCreateListMember action) { InitializeComponent(); ListComboBox.Text = action.list; ArchetypeComboBox.Text = action.archetype; foreach (var kvp in action.@params) { ParamDataGridView.Rows.Add(new object[] { kvp.Key, kvp.Value }); } }
internal ScriptActionControlSetGoalState(MudData.FormulaActionSetGoalState action, string archetypeName) { InitializeComponent(); BindingComboBox.TextChanged += (ctl, args) => { Utilities.PopulateHints(PropertyComboBox, MudData.GenerateHintsForGoalStates(BindingComboBox.Text)); }; BindingComboBox.Text = action.binding; PropertyComboBox.Text = action.property; ValueTextBox.Text = action.value; Utilities.PopulateHints(BindingComboBox, MudData.GenerateHintsForBindings(archetypeName)); }
internal ScriptActionControlSetGoalState(MudData.FormulaActionSetGoalState action, string archetypeName) { InitializeComponent(); BindingComboBox.TextChanged += (ctl, args) => { Utilities.PopulateHints(PropertyComboBox, MudData.GenerateHintsForGoalStates(BindingComboBox.Text)); }; BindingComboBox.Text = action.binding; PropertyComboBox.Text = action.property; ValueTextBox.Text = action.value; Utilities.PopulateHints(BindingComboBox, MudData.GenerateHintsForBindings(archetypeName)); }
private void RefreshUserPropertiesTab(MudData.Archetype userArchetype) { UserPropertiesListBox.Items.Clear(); if (userArchetype.properties == null) { SetEnabledControlsUserPropertiesTab(false); return; } foreach (var prop in userArchetype.properties) { UserPropertiesListBox.Items.Add(prop.Key); } UserPropertiesListBox_SelectedIndexChanged(null, null); }
private void RefreshUserListsTab(MudData.Archetype userArchetype) { UserListsListBox.Items.Clear(); foreach (var list in userArchetype.lists) { UserListsListBox.Items.Add(list); } UserListsListBox_SelectedIndexChanged(null, null); }
private void RefreshUserEventsTab(MudData.Archetype userArchetype) { UserEventsListBox.Items.Clear(); if (userArchetype.events == null) return; foreach (var e in userArchetype.events) { UserEventsListBox.Items.Add(e); } UserEventsListBox_SelectedIndexChanged(null, null); }
private void RefreshUserBindingsTab(MudData.Archetype userArchetype) { UserBindingsTextBox.Text = string.Join("\r\n", userArchetype.bindings); UnhighlightCommitButton(UserBindingsApplyButton); }