public void CtorNew() { //GR 29/8 - paged order was slightly changed to match 2.0 MonoBehavior_ctor(); PageOrder = new[] { 0, 1, 3, 2, 4, 5, 6, 7, 8 }; m_ValidOptionPages = (UIOptionsManager.OptionsPage)OptionsPage.CONTROLS | (UIOptionsManager.OptionsPage)OptionsPage.SOUND | (UIOptionsManager.OptionsPage)OptionsPage.GRAPHICS | (UIOptionsManager.OptionsPage)OptionsPage.GAME | (UIOptionsManager.OptionsPage)OptionsPage.AUTOPAUSE | (UIOptionsManager.OptionsPage)OptionsPage.MENU | (UIOptionsManager.OptionsPage)OptionsPage.CUSTOM | (UIOptionsManager.OptionsPage)OptionsPage.CUSTOM2; m_GameMode = new GameMode(); m_Controls = new ControlMapping(); }
public void CtorNew() { MonoBehavior_ctor(); PageOrder = new[] { 0, 3, 1, 4, 5, 2, 6, 7, 8 }; m_ValidOptionPages = (UIOptionsManager.OptionsPage)OptionsPage.CONTROLS | (UIOptionsManager.OptionsPage)OptionsPage.SOUND | (UIOptionsManager.OptionsPage)OptionsPage.GRAPHICS | (UIOptionsManager.OptionsPage)OptionsPage.GAME | (UIOptionsManager.OptionsPage)OptionsPage.AUTOPAUSE | (UIOptionsManager.OptionsPage)OptionsPage.MENU | (UIOptionsManager.OptionsPage)OptionsPage.CUSTOM | (UIOptionsManager.OptionsPage)OptionsPage.CUSTOM2; m_GameMode = new GameMode(); m_Controls = new ControlMapping(); }
private void ProcessControlMapping(int midiValue, ControlMapping controlMapping) { // ReSharper disable once ConvertIfStatementToSwitchStatement if (controlMapping.CommandName == "Play") { if (IsControlOn(midiValue, controlMapping)) _bassPlayer.Play(); } else if (controlMapping.CommandName == "TrackSendFx") { if (IsControlOn(midiValue, controlMapping)) _bassPlayer.StartTrackFxSend(); else _bassPlayer.StopTrackFxSend(); } else if (controlMapping.CommandName == "FadeNow") { if (IsControlOn(midiValue, controlMapping)) _bassPlayer.ForceFadeNow(ForceFadeType.SkipToEnd); } else if (controlMapping.CommandName == "Volume") { var volume = GetPercentage(midiValue, controlMapping); _bassPlayer.SetMixerVolume(volume); } else if (controlMapping.CommandName == "PowerDownCurrent") { if (IsControlOn(midiValue, controlMapping)) _bassPlayer.PowerOffCurrentTrack(); } else if (controlMapping.CommandName == "ManualMixVolume") { var volume = GetPercentage(midiValue, controlMapping); _bassPlayer.SetManualMixVolume(volume); } else if (controlMapping.CommandName == "PowerDownPrevious") { if (IsControlOn(midiValue, controlMapping)) _bassPlayer.PowerOffPreviousTrack(); } else if (controlMapping.CommandName == "PausePrevious") { if (IsControlOn(midiValue, controlMapping)) _bassPlayer.PausePreviousTrack(); } else if (controlMapping.CommandName == "TrackSendFxVolume") { var volume = GetPercentage(midiValue, controlMapping); _bassPlayer.SetTrackSendFxVolume(volume); } else if (controlMapping.CommandName == "SamplerVolume") { var volume = GetPercentage(midiValue, controlMapping); _bassPlayer.SetSamplerMixerVolume(volume); } else if (controlMapping.CommandName == "ToggleManualMixMode") { if (IsControlOn(midiValue, controlMapping)) _bassPlayer.ToggleManualMixMode(); } else if (controlMapping.CommandName == "LoopFadeInForever") { if (IsControlOn(midiValue, controlMapping)) _bassPlayer.LoopFadeInForever = !_bassPlayer.LoopFadeInForever; } else if (controlMapping.CommandName == "JumpBack") { if (IsControlOn(midiValue, controlMapping)) _bassPlayer.JumpBack(); } else if (controlMapping.CommandName.StartsWith("Sample")) { var index = int.Parse(controlMapping.CommandName.Replace("Sample", "")); if (IsControlOn(midiValue, controlMapping)) _bassPlayer.PlaySample(index); else _bassPlayer.PauseSample(index); } }
private static decimal GetPercentage(int value, ControlMapping controlMapping) { var adjustedValue = Convert.ToDecimal(value - controlMapping.MinMidiValue); var adjustedMax = Convert.ToDecimal(controlMapping.MaxMidiValue - controlMapping.MinMidiValue); return adjustedValue / adjustedMax * 100; }
private static bool IsControlOn(int value, ControlMapping controlMapping) { return value != controlMapping.MinMidiValue; }
public void OnGUI() { if (_inputManager == null) { OnEnable(); // reload input manager; required when editor window opens with unity (instead of being opened from the menu) and no prefab exists } _scrollPos = EditorGUILayout.BeginScrollView(_scrollPos); if (_inputManager.KeyMappings.Mappings.Count > 0) { EditorGUILayout.LabelField("Key Mappings: ", EditorStyles.boldLabel); for (int i = _inputManager.KeyMappings.Mappings.Count - 1; i >= 0; --i) { KeyMapping m = _inputManager.KeyMappings.Mappings[i]; GUILayout.BeginHorizontal(); EditorGUIUtility.labelWidth = 80; m.channel = EditorGUILayout.IntField(" On Channel:", m.channel, GUILayout.MaxWidth(130)); EditorGUIUtility.labelWidth = 90; m.trigger = EditorGUILayout.IntField("Note Number:", m.trigger, GUILayout.MaxWidth(130)); EditorGUIUtility.labelWidth = 60; m.key = EditorGUILayout.TextField("Triggers:", m.key, GUILayout.MaxWidth(130)); if (GUILayout.Button("-", GUILayout.MaxWidth(25))) { _inputManager.RemoveMapping(m.trigger, m.key, m.channel); } GUILayout.EndHorizontal(); } } if (_inputManager.ControlMappings.Mappings.Count > 0) { EditorGUILayout.LabelField("Control Mappings: ", EditorStyles.boldLabel); for (int i = _inputManager.ControlMappings.Mappings.Count - 1; i >= 0; --i) { ControlMapping m = _inputManager.ControlMappings.Mappings[i]; GUILayout.BeginHorizontal(); EditorGUIUtility.labelWidth = 40; m.control = EditorGUILayout.IntField(" if CC", m.control, GUILayout.MaxWidth(75)); EditorGUIUtility.labelWidth = 15; m.minVal = EditorGUILayout.IntField(">", m.minVal, GUILayout.MaxWidth(50)); EditorGUIUtility.labelWidth = 50; m.maxVal = EditorGUILayout.IntField("and <=", m.maxVal, GUILayout.MaxWidth(85)); EditorGUIUtility.labelWidth = 70; m.channel = EditorGUILayout.IntField("on channel", m.channel, GUILayout.MaxWidth(100)); EditorGUIUtility.labelWidth = 50; m.key = EditorGUILayout.TextField("trigger:", m.key, GUILayout.MaxWidth(110)); // TODO: validate that this is a real key if (GUILayout.Button("-", GUILayout.MaxWidth(25))) { _inputManager.RemoveMapping(m.control, m.minVal, m.maxVal, m.key); } GUILayout.EndHorizontal(); } } EditorGUILayout.EndScrollView(); GUILayout.BeginHorizontal(); if (GUILayout.Button("New Key Mapping", GUILayout.MaxWidth(182))) { _inputManager.MapKey(-1, "", -1); } if (GUILayout.Button("New Control Mapping", GUILayout.MaxWidth(182))) { _inputManager.MapControl(-1, -1, -1, "", -1); } GUILayout.EndHorizontal(); if (GUILayout.Button("Save Mappings", GUILayout.MaxWidth(369))) { SavePrefab(); } }