private void butOK_Click(object sender, EventArgs e) { // Test if everything is 'ok' if (!NgParameterInfo.TriggerIsValid(_level.Settings, TestTrigger)) { if (DarkMessageBox.Show(this, "The currently selected trigger data is not valid for the engine.", "Trigger invalid", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation) != DialogResult.OK) { return; } } // Store some values like we have not NG triggers _trigger.TriggerType = TriggerType; _trigger.TargetType = TargetType; _trigger.Target = paramTarget.Parameter; _trigger.Timer = paramTimer.Parameter; _trigger.Extra = paramExtra.Parameter; _trigger.CodeBits = CodeBits; _trigger.OneShot = cbOneShot.Checked; // Close DialogResult = DialogResult.OK; Close(); }
private void UpdateExportToTrigger() { scriptExportPanel.Visible = _level.Settings.GameVersion == TRVersion.Game.TRNG; if (_level.Settings.GameVersion != TRVersion.Game.TRNG) { return; } try { tbScript.Text = NgParameterInfo.ExportToScriptTrigger(_level, TestTrigger); tbScript.Tag = NgParameterInfo.ExportToScriptTrigger(_level, TestTrigger, true); tbScript.Enabled = true; butCopyToClipboard.Enabled = true; butCopyWithComments.Enabled = true; } catch (NgParameterInfo.ExceptionScriptNotSupported) { tbScript.Text = "Not supported"; tbScript.Tag = null; tbScript.Enabled = false; butCopyToClipboard.Enabled = false; butCopyWithComments.Enabled = false; } catch (NgParameterInfo.ExceptionScriptIdMissing) { tbScript.Text = "Click to generate"; tbScript.Tag = null; tbScript.Enabled = false; butCopyToClipboard.Enabled = false; butCopyWithComments.Enabled = false; } catch (Exception exc) { tbScript.Text = "Check all fields"; tbScript.Tag = null; tbScript.Enabled = false; butCopyToClipboard.Enabled = false; butCopyWithComments.Enabled = false; logger.Debug(exc, "\"ExportToScriptTrigger\" failed."); } }
public void UpdateDialog() { // This is needed to prevent recursive UpdateDialog call. if (_dialogIsUpdating) { return; } _dialogIsUpdating = true; paramTriggerType.ParameterRange = NgParameterInfo.GetTriggerTypeRange(_level.Settings).ToParameterRange(); paramTargetType.ParameterRange = NgParameterInfo.GetTargetTypeRange(_level.Settings, TriggerType).ToParameterRange(); bool isConditionNg = TriggerType == TriggerType.ConditionNg; // HACK: Change order of population based on target type. if (isConditionNg) { paramTimer.ParameterRange = NgParameterInfo.GetTimerRange(_level.Settings, TriggerType, TargetType, paramTarget.Parameter); paramTarget.ParameterRange = NgParameterInfo.GetTargetRange(_level.Settings, TriggerType, TargetType, paramTimer.Parameter); } else { paramTarget.ParameterRange = NgParameterInfo.GetTargetRange(_level.Settings, TriggerType, TargetType, paramTimer.Parameter); paramTimer.ParameterRange = NgParameterInfo.GetTimerRange(_level.Settings, TriggerType, TargetType, paramTarget.Parameter); } paramExtra.ParameterRange = NgParameterInfo.GetExtraRange(_level.Settings, TriggerType, TargetType, paramTarget.Parameter, paramTimer.Parameter); _dialogIsUpdating = false; cbBit1.Enabled = !isConditionNg; cbBit2.Enabled = !isConditionNg; cbBit3.Enabled = !isConditionNg; cbBit4.Enabled = !isConditionNg; cbBit5.Enabled = !isConditionNg; UpdateExportToTrigger(); }