Corgi Engine  v8.8
MoreMountains.CorgiEngine.InputSystemManager Class Reference

This is a replacement InputManager if you prefer using Unity's InputSystem over the legacy one. Note that it's not the default solution in the engine at the moment, because older versions of Unity don't support it, and most people still prefer not using it You can see an example of how to set it up in the MinimalLevel_InputSystem demo scene More...

Inheritance diagram for MoreMountains.CorgiEngine.InputSystemManager:
MoreMountains.CorgiEngine.InputManager MoreMountains.Tools.MMSingleton< InputManager >

Public Attributes

CorgiEngineInputActions InputActions
 a set of input actions to use to read input on More...
 
- Public Attributes inherited from MoreMountains.CorgiEngine.InputManager
bool InputDetectionActive = true
 set this to false to prevent input to be detected More...
 
bool ResetButtonStatesOnFocusLoss = true
 if this is true, button states will be reset on focus loss - when clicking outside the player window on PC, for example More...
 
string PlayerID = "Player1"
 a string identifying the target player(s). You'll need to set this exact same string on your Character, and set its type to Player More...
 
bool AutoMobileDetection = true
 if this is set to true, the InputManager will try to detect what mode it should be in, based on the current target device More...
 
InputForcedMode ForcedMode
 use this to force desktop (keyboard, pad) or mobile (touch) mode More...
 
bool HideMobileControlsInEditor = false
 if this is true, mobile controls will be hidden in editor mode, regardless of the current build target or the forced mode More...
 
MovementControls MovementControl = MovementControls.Joystick
 use this to specify whether you want to use the default joystick or arrows to move your character More...
 
bool DelayedButtonPresses = false
 if this is true, button state changes are offset by one frame (usually useful on Android) More...
 
bool SmoothMovement =true
 If set to true, acceleration / deceleration will take place when moving / stopping. More...
 
Vector2 Threshold = new Vector2(0.1f, 0.4f)
 the minimum horizontal and vertical value you need to reach to trigger movement on an analog controller (joystick for example) More...
 

Protected Member Functions

override void Start ()
 On Start we look for what mode to use, and initialize our axis and buttons More...
 
override void Initialization ()
 On init we register to all our actions More...
 
virtual void BindButton (InputAction.CallbackContext context, MMInput.IMButton imButton)
 Changes the state of our button based on the input value More...
 
override void Update ()
 At update, we check the various commands and update our values and states accordingly. More...
 
virtual void ForceRefresh ()
 
virtual void OnEnable ()
 On enable we enable our input actions More...
 
virtual void OnDisable ()
 On disable we disable our input actions More...
 
- Protected Member Functions inherited from MoreMountains.CorgiEngine.InputManager
virtual void InitializeButtons ()
 Initializes the buttons. If you want to add more buttons, make sure to register them here. More...
 
virtual void InitializeAxis ()
 Initializes the axis strings. More...
 
virtual void LateUpdate ()
 On LateUpdate, we process our button states More...
 
virtual void GetInputButtons ()
 If we're not on mobile, watches for input changes, and updates our buttons states accordingly More...
 
virtual void SetShootAxis ()
 Called every frame, if not on mobile, gets shoot axis values from input More...
 
virtual void OnApplicationFocus (bool hasFocus)
 If we lose focus, we reset the states of all buttons More...
 
- Protected Member Functions inherited from MoreMountains.Tools.MMSingleton< InputManager >
virtual void Awake ()
 On awake, we initialize our instance. Make sure to call base.Awake() in override if you need awake. More...
 
virtual void InitializeSingleton ()
 Initializes the singleton. More...
 

Protected Attributes

bool _inputActionsEnabled = true
 
bool _initialized = false
 
- Protected Attributes inherited from MoreMountains.CorgiEngine.InputManager
List< MMInput.IMButtonButtonList
 
Vector2 _primaryMovement = Vector2.zero
 
Vector2 _secondaryMovement = Vector2.zero
 
string _axisHorizontal
 
string _axisVertical
 
string _axisSecondaryHorizontal
 
string _axisSecondaryVertical
 
string _axisShoot
 
string _axisShootSecondary
 

Additional Inherited Members

- Public Types inherited from MoreMountains.CorgiEngine.InputManager
enum  InputForcedMode { InputForcedMode.None, InputForcedMode.Mobile, InputForcedMode.Desktop }
 the possible modes for this input manager More...
 
enum  MovementControls { MovementControls.Joystick, MovementControls.Arrows }
 the possible kinds of control used for movement More...
 
- Public Member Functions inherited from MoreMountains.CorgiEngine.InputManager
virtual void ControlsModeDetection ()
 Turns mobile controls on or off depending on what's been defined in the inspector, and what target device we're on More...
 
virtual void ProcessButtonStates ()
 Called at LateUpdate(), this method processes the button states of all registered buttons More...
 
virtual void SetMovement ()
 Called every frame, if not on mobile, gets primary movement values from input More...
 
virtual void SetSecondaryMovement ()
 Called every frame, if not on mobile, gets secondary movement values from input More...
 
virtual void SetMovement (Vector2 movement)
 If you're using a touch joystick, bind your main joystick to this method More...
 
virtual void SetSecondaryMovement (Vector2 movement)
 If you're using a touch joystick, bind your secondary joystick to this method More...
 
virtual void SetHorizontalMovement (float horizontalInput)
 If you're using touch arrows, bind your left/right arrows to this method More...
 
virtual void SetVerticalMovement (float verticalInput)
 If you're using touch arrows, bind your secondary down/up arrows to this method More...
 
virtual void SetSecondaryHorizontalMovement (float horizontalInput)
 If you're using touch arrows, bind your secondary left/right arrows to this method More...
 
virtual void SetSecondaryVerticalMovement (float verticalInput)
 If you're using touch arrows, bind your down/up arrows to this method More...
 
virtual void ForceAllButtonStatesTo (MMInput.ButtonStates newState)
 Lets you force the state of all buttons in the InputManager to the one specified in parameters More...
 
virtual void JumpButtonDown ()
 
virtual void JumpButtonPressed ()
 
virtual void JumpButtonUp ()
 
virtual void SwimButtonDown ()
 
virtual void SwimButtonPressed ()
 
virtual void SwimButtonUp ()
 
virtual void GlideButtonDown ()
 
virtual void GlideButtonPressed ()
 
virtual void GlideButtonUp ()
 
virtual void InteractButtonDown ()
 
virtual void InteractButtonPressed ()
 
virtual void InteractButtonUp ()
 
virtual void DashButtonDown ()
 
virtual void DashButtonPressed ()
 
virtual void DashButtonUp ()
 
virtual void RollButtonDown ()
 
virtual void RollButtonPressed ()
 
virtual void RollButtonUp ()
 
virtual void FlyButtonDown ()
 
virtual void FlyButtonPressed ()
 
virtual void FlyButtonUp ()
 
virtual void RunButtonDown ()
 
virtual void RunButtonPressed ()
 
virtual void RunButtonUp ()
 
virtual void JetpackButtonDown ()
 
virtual void JetpackButtonPressed ()
 
virtual void JetpackButtonUp ()
 
virtual void ReloadButtonDown ()
 
virtual void ReloadButtonPressed ()
 
virtual void ReloadButtonUp ()
 
virtual void PushButtonDown ()
 
virtual void PushButtonPressed ()
 
virtual void PushButtonUp ()
 
virtual void ShootButtonDown ()
 
virtual void ShootButtonPressed ()
 
virtual void ShootButtonUp ()
 
virtual void GripButtonDown ()
 
virtual void GripButtonPressed ()
 
virtual void GripButtonUp ()
 
virtual void SecondaryShootButtonDown ()
 
virtual void SecondaryShootButtonPressed ()
 
virtual void SecondaryShootButtonUp ()
 
virtual void PauseButtonDown ()
 
virtual void PauseButtonPressed ()
 
virtual void PauseButtonUp ()
 
virtual void RestartButtonDown ()
 
virtual void RestartButtonPressed ()
 
virtual void RestartButtonUp ()
 
virtual void SwitchWeaponButtonDown ()
 
virtual void SwitchWeaponButtonPressed ()
 
virtual void SwitchWeaponButtonUp ()
 
virtual void SwitchCharacterButtonDown ()
 
virtual void SwitchCharacterButtonPressed ()
 
virtual void SwitchCharacterButtonUp ()
 
virtual void TimeControlButtonDown ()
 
virtual void TimeControlButtonPressed ()
 
virtual void TimeControlButtonUp ()
 
virtual void GrabButtonDown ()
 
virtual void GrabButtonPressed ()
 
virtual void GrabButtonUp ()
 
virtual void ThrowButtonDown ()
 
virtual void ThrowButtonPressed ()
 
virtual void ThrowButtonUp ()
 
- Static Public Member Functions inherited from MoreMountains.Tools.MMSingleton< InputManager >
static T TryGetInstance ()
 
- Static Public Attributes inherited from MoreMountains.Tools.MMSingleton< InputManager >
static bool HasInstance
 
static T Current
 
- Static Protected Member Functions inherited from MoreMountains.CorgiEngine.InputManager
static void InitializeStatics ()
 Statics initialization to support enter play modes More...
 
- Static Protected Attributes inherited from MoreMountains.Tools.MMSingleton< InputManager >
static T _instance
 
- Properties inherited from MoreMountains.CorgiEngine.InputManager
bool IsMobile [get, protected set]
 if this is true, we're currently in mobile mode More...
 
MMInput.IMButton JumpButton [get, protected set]
 the jump button, used for jumps More...
 
MMInput.IMButton SwimButton [get, protected set]
 the swim button, used to swim More...
 
MMInput.IMButton GlideButton [get, protected set]
 the glide button, used to glide in the air More...
 
MMInput.IMButton InteractButton [get, protected set]
 the activate button, used for interactions with zones More...
 
MMInput.IMButton JetpackButton [get, protected set]
 the jetpack button More...
 
MMInput.IMButton FlyButton [get, protected set]
 the fly button More...
 
MMInput.IMButton RunButton [get, protected set]
 the run button More...
 
MMInput.IMButton DashButton [get, protected set]
 the dash button More...
 
MMInput.IMButton RollButton [get, protected set]
 the roll button More...
 
MMInput.IMButton GrabButton [get, protected set]
 the dash button More...
 
MMInput.IMButton ThrowButton [get, protected set]
 the dash button More...
 
MMInput.IMButton ShootButton [get, protected set]
 the shoot button More...
 
MMInput.IMButton SecondaryShootButton [get, protected set]
 the shoot button More...
 
MMInput.IMButton ReloadButton [get, protected set]
 the reload button More...
 
MMInput.IMButton PushButton [get, protected set]
 the push button More...
 
MMInput.IMButton GripButton [get, protected set]
 the grip button More...
 
MMInput.IMButton PauseButton [get, protected set]
 the pause button More...
 
MMInput.IMButton RestartButton [get, protected set]
 the restart button More...
 
MMInput.IMButton SwitchCharacterButton [get, protected set]
 the button used to switch character (either via model or prefab switch) More...
 
MMInput.IMButton SwitchWeaponButton [get, protected set]
 the switch weapon button More...
 
MMInput.IMButton TimeControlButton [get, protected set]
 the time control button More...
 
MMInput.ButtonStates ShootAxis [get, protected set]
 the shoot axis, used as a button (non analogic) More...
 
MMInput.ButtonStates SecondaryShootAxis [get, protected set]
 the shoot axis, used as a button (non analogic) More...
 
virtual Vector2 PrimaryMovement [get]
 the primary movement value (used to move the character around) More...
 
virtual Vector2 SecondaryMovement [get]
 the secondary movement (usually the right stick on a gamepad), used to aim More...
 
- Properties inherited from MoreMountains.Tools.MMSingleton< InputManager >
static T Instance [get]
 Singleton design pattern More...
 

Detailed Description

This is a replacement InputManager if you prefer using Unity's InputSystem over the legacy one. Note that it's not the default solution in the engine at the moment, because older versions of Unity don't support it, and most people still prefer not using it You can see an example of how to set it up in the MinimalLevel_InputSystem demo scene

Member Function Documentation

◆ BindButton()

virtual void MoreMountains.CorgiEngine.InputSystemManager.BindButton ( InputAction.CallbackContext  context,
MMInput.IMButton  imButton 
)
protectedvirtual

Changes the state of our button based on the input value

Parameters
context
imButton

◆ ForceRefresh()

virtual void MoreMountains.CorgiEngine.InputSystemManager.ForceRefresh ( )
protectedvirtual

◆ Initialization()

override void MoreMountains.CorgiEngine.InputSystemManager.Initialization ( )
protectedvirtual

On init we register to all our actions

Reimplemented from MoreMountains.CorgiEngine.InputManager.

◆ OnDisable()

virtual void MoreMountains.CorgiEngine.InputSystemManager.OnDisable ( )
protectedvirtual

On disable we disable our input actions

◆ OnEnable()

virtual void MoreMountains.CorgiEngine.InputSystemManager.OnEnable ( )
protectedvirtual

On enable we enable our input actions

◆ Start()

override void MoreMountains.CorgiEngine.InputSystemManager.Start ( )
protectedvirtual

On Start we look for what mode to use, and initialize our axis and buttons

Reimplemented from MoreMountains.CorgiEngine.InputManager.

◆ Update()

override void MoreMountains.CorgiEngine.InputSystemManager.Update ( )
protectedvirtual

At update, we check the various commands and update our values and states accordingly.

Reimplemented from MoreMountains.CorgiEngine.InputManager.

Member Data Documentation

◆ _initialized

bool MoreMountains.CorgiEngine.InputSystemManager._initialized = false
protected

◆ _inputActionsEnabled

bool MoreMountains.CorgiEngine.InputSystemManager._inputActionsEnabled = true
protected

◆ InputActions

CorgiEngineInputActions MoreMountains.CorgiEngine.InputSystemManager.InputActions

a set of input actions to use to read input on


The documentation for this class was generated from the following file: