Heroic Engine
  • Welcome
  • Getting Started
    • Quickstart
    • Example Games
      • Tic Tac Toe
      • Turn based duel
  • Basics
    • Injection Manager
    • Engine Systems
      • Core Systems
        • Events Manager
        • Input Manager
        • Localization Manager
          • LangText component
        • Music Player
        • Sounds Manager
        • Time Manager
        • Scenes Loader
        • Day Time Controller
        • Weather Controller
      • Gameplay Systems
        • Currencies Manager
        • Player Progression Manager
        • Quest Manager
        • Random Events Manager
        • Hittables Manager
        • Dungeon Generator
      • UI Systems
        • UI Controller
        • Countdown Controller
    • Editor Tools
      • Clear Saves
      • Mobile Build Optimizer
      • Create System
      • Icon from Prefab Generator
    • Engine Utilities
      • PoolSystem
      • DataSaver
      • ComponentExtensions
      • MaterialExtensions
      • SpriteUtils
      • SlowUpdate
      • StringUtils
      • TypeUtility
      • MathHelper
      • VectorUtils
      • TransformUtils
      • MeshUtils
    • Useful Components
      • Floating Item
      • Fly Up Text
      • Label Scaler
      • Ragdoll
      • Rotate To Camera
      • Orbital Camera
      • Rotator
      • Texture Mover
      • Hittable
      • Projectile
      • Projectile2D
      • LifetimeObject
      • Spawner
      • Colorized Particles
      • Draggable2D
      • SaveableTransform
    • Useful Attributes
Powered by GitBook
On this page
  1. Basics
  2. Engine Systems
  3. Core Systems

Input Manager

Presented via IInputManager interface, this small but useful system provides you with information about player inputs.

To use this system, inject IInputManager interface into your class, as shown below:

[Inject] private IInputManager inputManager;

Available methods

Vector3 GetMovementDirection()

This method returns normalized movement direction (in screen space). For example, if player is pushing W button on keyboard, this method returns (0, 0, 1).

Example:

Vector3 movementDir = inputManager.GetMovementDirection();

characterController.Move(moveSpeed * Time.deltaTime * cameraController.GetWorldDirection(movementDir));

As you can see in example, you can convert screen space movement direction into world space direction via GetWorldDirection method of CameraController class.


void AddKeyListener(KeyCode key, UnityAction keyDownCallback, UnityAction keyUpCallback)

Registers key listener, its key down and key up callbacks.

Example:

inputManager.AddKeyListener(KeyCode.Space, Jump, null);

void RemoveKeyListener(KeyCode key, UnityAction keyDownCallback, UnityAction keyUpCallback)

Removes key listener

PreviousEvents ManagerNextLocalization Manager

Last updated 23 days ago