public static void Postfix(ref bool __result, ref ScreenDialog __instance, ref CoreInputControlMapping mapping, ref IGameUIComponent triggeredUI, ref InputManager.Controls triggeredMappingID)
        {
            // Check if there's a custom input listener assigned to this dialog. If that is the case, invoke its
            // ApplyScreenInput.
            ICustomDialogInputListener listener = CustomUIManager.GetCustomDialogInputListener(__instance);

            if (listener != null)
            {
                __result = listener.ApplyScreenInput(mapping, triggeredUI, triggeredMappingID);
            }
        }
Beispiel #2
0
        private void OnGameUITriggered(CoreInputControlMapping mapping, IGameUIComponent component)
        {
            // If the "Restart Battle" button was clicked and we aren't already in the process of restarting, restart the battle
            if (component.IsGameUIComponent(_restartBattleButton) && mapping.IsID(InputManager.Controls.Clicked) && _coroutine == null)
            {
                // Play a sound when the button is clicked
                Traverse.Create(_battleHud).Field("soundManager").GetValue <SoundManager>().PlaySfx(SoundCueNames.EndTurn);

                // Restart the battle
                _coroutine = GlobalMonoBehavior.Inst.StartCoroutine(RestartBattleCoroutine(_battleHud));
            }
        }
Beispiel #3
0
 /// <summary>
 /// Evaluate the user input. For params, see <see cref="ICustomDialogInputListener.ApplyScreenInput"/>
 /// </summary>
 public bool ApplyScreenInput(CoreInputControlMapping mapping, IGameUIComponent triggeredUI, InputManager.Controls triggeredMappingID)
 {
     // Invoke the ScreenDialog's ApplyScreenInput method. This is mostly to handle correct closing.
     dialog.ApplyScreenInput(mapping, triggeredUI, triggeredMappingID);
     // Evaluate all dropdown menus.
     foreach (GameUISelectableDropdown dropdown in dropdowns)
     {
         if (dropdown.TryClose(mapping, triggeredUI) || dropdown.ApplyScreenInput(mapping, triggeredUI, triggeredMappingID))
         {
             return(true);
         }
     }
     // Evaluate all sliders.
     foreach (SelectableSliderHelper slider in sliders)
     {
         // For some reason, this never seems to trigger at the moment. No idea why.
         if (slider.ApplyScreenInput(mapping, triggeredUI, triggeredMappingID))
         {
             return(true);
         }
     }
     return(false);
 }
 public static bool Prefix(ref RunHistoryScreen __instance, ref bool __result, ref CoreInputControlMapping mapping, ref IGameUIComponent triggeredUI, ref InputManager.Controls triggeredMappingID)
 {
     // If the filter dialog is null, abort.
     if (AdvancedRunHistory.filterDialog == null)
     {
         AdvancedRunHistory.Log("Filter dialog does not seem to have initalized successfully.", LogLevel.Warning);
         return(true);
     }
     // If the filter dialog is open, handle it first.
     if (AdvancedRunHistory.filterDialog.IsActive())
     {
         if (AdvancedRunHistory.filterDialog.ApplyScreenInput(mapping, triggeredUI, triggeredMappingID))
         {
             __result = true;
         }
         // If one of the filters was changed, re-fetch runs.
         if (AdvancedRunHistory.filterDialog.WasUpdated() && AdvancedRunHistory.filterManager.Active)
         {
             UpdateHistoryUI(__instance);
         }
         return(false);
     }
     // "Edit Filters" button clicked: Open the filter dialog.
     if (AdvancedRunHistory.openFilterDialogButton.TryTrigger(triggeredUI, triggeredMappingID))
     {
         AdvancedRunHistory.filterDialog.Open();
         __result = true;
         return(false);
     }
     // "Apply Filters" toggle clicked: Toggle the filter manager's active state and re-fetch runs.
     if (AdvancedRunHistory.applyFiltersToggle.TryTrigger(triggeredUI, triggeredMappingID))
     {
         AdvancedRunHistory.filterManager.Active = AdvancedRunHistory.applyFiltersToggle.Toggle();
         UpdateHistoryUI(__instance);
         return(false);
     }
     // If nothing else has been found, run the original method.
     return(true);
 }