public static bool SpecialNavigationSystem( this UFEScreen screen, IDictionary <InputReferences, InputEvents> player1PreviousInputs, IDictionary <InputReferences, InputEvents> player1CurrentInputs, IDictionary <InputReferences, InputEvents> player2PreviousInputs, IDictionary <InputReferences, InputEvents> player2CurrentInputs, MoveCursorCallback moveCursorCallback = null, ActionCallback confirmCallback = null, ActionCallback cancelCallback = null ) { return (screen.SpecialNavigationSystem( player1PreviousInputs, player1CurrentInputs, moveCursorCallback, confirmCallback, cancelCallback ) || screen.SpecialNavigationSystem( player2PreviousInputs, player2PreviousInputs, moveCursorCallback, confirmCallback, cancelCallback )); }
public static bool SpecialNavigationSystem( this UFEScreen screen, int player, MoveCursorCallback moveCursorCallback = null, ActionCallback confirmCallback = null, ActionCallback cancelCallback = null ) { //------------------------------------------------------------------------------------------------------------- // Retrieve the controller assigned to specified player //------------------------------------------------------------------------------------------------------------- AbstractInputController inputController = UFE.GetController(player); if (inputController != null && UFE.eventSystem != null && UFE.eventSystem.isActiveAndEnabled) { return(UFEScreenExtensions.SpecialNavigationSystem( inputController, inputController.GetAxisRaw(inputController.horizontalAxis), inputController.GetAxisRaw(inputController.verticalAxis), inputController.GetButtonDown(inputController.horizontalAxis), inputController.GetButtonDown(inputController.verticalAxis), inputController.GetButtonDown(UFE.config.inputOptions.confirmButton), inputController.GetButtonDown(UFE.config.inputOptions.cancelButton), moveCursorCallback, confirmCallback, cancelCallback )); } return(false); }
public static bool SpecialNavigationSystem( this UFEScreen screen, MoveCursorCallback moveCursorCallback = null, ActionCallback confirmCallback = null, ActionCallback cancelCallback = null ) { return (screen.SpecialNavigationSystem(1, moveCursorCallback, confirmCallback, cancelCallback) || screen.SpecialNavigationSystem(2, moveCursorCallback, confirmCallback, cancelCallback)); }
private static bool SpecialNavigationSystem( AbstractInputController inputController, float horizontalAxis, float verticalAxis, bool horizontalAxisDown, bool verticalAxisDown, bool confirmButtonDown, bool cancelButtonDown, MoveCursorCallback moveCursorCallback, ActionCallback confirmCallback, ActionCallback cancelCallback ) { if (inputController != null) { if (moveCursorCallback != null && moveCursorCallback.Action != null) { moveCursorCallback.Action( horizontalAxis, verticalAxis, horizontalAxisDown, verticalAxisDown, confirmButtonDown, cancelButtonDown, moveCursorCallback.Sound ); } if (confirmButtonDown) { if (confirmCallback != null && confirmCallback.Action != null) { confirmCallback.Action(confirmCallback.Sound); } return(true); } else if (cancelButtonDown) { if (cancelCallback != null && cancelCallback.Action != null) { cancelCallback.Action(cancelCallback.Sound); } return(true); } } return(false); }
public static bool SpecialNavigationSystem( this UFEScreen screen, IDictionary <InputReferences, InputEvents> previousInputs, IDictionary <InputReferences, InputEvents> currentInputs, MoveCursorCallback moveCursorCallback, ActionCallback confirmCallback, ActionCallback cancelCallback ) { Fix64 currentHorizontalAxis = 0f; Fix64 currentVerticalAxis = 0f; bool currentHorizontalButton = false; bool currentVerticalButton = false; bool currentConfirmButton = false; bool currentCancelButton = false; foreach (KeyValuePair <InputReferences, InputEvents> pair in currentInputs) { if (pair.Key.inputType == InputType.HorizontalAxis) { currentHorizontalAxis = pair.Value.axisRaw; currentHorizontalButton = pair.Value.button; } else if (pair.Key.inputType == InputType.VerticalAxis) { currentVerticalAxis = pair.Value.axisRaw; currentVerticalButton = pair.Value.button; } else { if (pair.Key.engineRelatedButton == UFE.config.inputOptions.confirmButton) { currentConfirmButton = pair.Value.button; } if (pair.Key.engineRelatedButton == UFE.config.inputOptions.cancelButton) { currentCancelButton = pair.Value.button; } } } bool previousHorizontalButton = false; bool previousVerticalButton = false; bool previousConfirmButton = false; bool previousCancelButton = false; foreach (KeyValuePair <InputReferences, InputEvents> pair in previousInputs) { if (pair.Key.inputType == InputType.HorizontalAxis) { previousHorizontalButton = pair.Value.button; } else if (pair.Key.inputType == InputType.VerticalAxis) { previousVerticalButton = pair.Value.button; } else { if (pair.Key.engineRelatedButton == UFE.config.inputOptions.confirmButton) { previousConfirmButton = pair.Value.button; } if (pair.Key.engineRelatedButton == UFE.config.inputOptions.cancelButton) { previousCancelButton = pair.Value.button; } } } bool horizontalAxisDown = currentHorizontalButton && !previousHorizontalButton; bool verticalAxisDown = currentVerticalButton && !previousVerticalButton; bool confirmButtonDown = currentConfirmButton && !previousConfirmButton; bool cancelButtonDown = currentCancelButton && !previousCancelButton; // UnityEngine.Debug.Log( // UFE.currentFrame + " | " + // previousHorizontalButton + " > " + currentHorizontalButton + " | " + // previousVerticalButton + " > " + currentVerticalButton // ); if (moveCursorCallback != null && moveCursorCallback.Action != null) { moveCursorCallback.Action( currentHorizontalAxis, currentVerticalAxis, horizontalAxisDown, verticalAxisDown, confirmButtonDown, cancelButtonDown, moveCursorCallback.Sound ); } if (confirmButtonDown) { if (confirmCallback != null && confirmCallback.Action != null) { confirmCallback.Action(confirmCallback.Sound); } return(true); } else if (cancelButtonDown) { if (cancelCallback != null && cancelCallback.Action != null) { cancelCallback.Action(cancelCallback.Sound); } return(true); } return(false); }