Nymph Game Engine
Chaiscript based Game Engine
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Input::InputSystem Class Reference

Class for input system. More...

#include <input_system.h>

Inheritance diagram for Input::InputSystem:
Events::Subject Events::Observer

Public Member Functions

virtual ~InputSystem ()=default
 
 InputSystem (GLFWwindow *window, float viewport_width, float viewport_height, glm::mat4 camera_transform_matrix, glm::mat4 projection_matrix)
 Constructor for input system. More...
 
void pollForInput ()
 Polls glfw for new input. More...
 
virtual void onNotifyNow (std::shared_ptr< Events::Event > event) override
 When receiving an event that is immediate, onNotifyNow is used. It acts as an interrupt to make sure the object is notified before another engine loop. This is pure virtual and is implemented on a case by case basis in derived classes. More...
 
virtual void handleQueuedEvent (std::shared_ptr< Events::Event > event) override
 HandleQueuedEvent allows derived classes to define behaviour for when queuedEvents are received. More...
 
void dummy ()
 
- Public Member Functions inherited from Events::Subject
virtual ~Subject ()=default
 
virtual void notify (std::shared_ptr< Event > event)
 notify is used to tell observers of an event. More...
 
virtual void notifyNow (std::shared_ptr< Event > event)
 notifyNow is used to tell observers of an event as an interrupt. More...
 
virtual void addObserver (std::shared_ptr< Observer > observer)
 Adds an observer. More...
 
virtual void removeObserver (std::shared_ptr< Observer > observer)
 Removes an observer. More...
 
- Public Member Functions inherited from Events::Observer
virtual ~Observer ()
 
void onNotify (std::shared_ptr< Event > event)
 When receiving an event that is non-immediate, onNotify is used. The event is added to the event queue that is processed when processEventQueue is called. More...
 
void processEventQueue ()
 This should be called once ever loop for every Observer to properly use queued events. More...
 

Additional Inherited Members

- Protected Member Functions inherited from Events::Observer
std::shared_ptr< EventgetEvent ()
 
bool eventsWaiting () const noexcept
 

Detailed Description

Class for input system.

Constructor & Destructor Documentation

virtual Input::InputSystem::~InputSystem ( )
virtualdefault
Input::InputSystem::InputSystem ( GLFWwindow *  window,
float  viewport_width,
float  viewport_height,
glm::mat4  camera_transform_matrix,
glm::mat4  projection_matrix 
)

Constructor for input system.

Parameters
windowThe window
[in]viewport_widthThe viewport width
[in]viewport_heightThe viewport height
[in]camera_transform_matrixThe camera transform matrix
[in]projection_matrixThe projection matrix

Member Function Documentation

void Input::InputSystem::dummy ( )
inline
void Input::InputSystem::handleQueuedEvent ( std::shared_ptr< Events::Event event)
overridevirtual

HandleQueuedEvent allows derived classes to define behaviour for when queuedEvents are received.

Parameters
[in]eventThe event

Implements Events::Observer.

References Events::RESUME_KEY_INPUT, and Events::SUSPEND_KEY_INPUT.

Referenced by onNotifyNow().

void Input::InputSystem::onNotifyNow ( std::shared_ptr< Events::Event event)
overridevirtual

When receiving an event that is immediate, onNotifyNow is used. It acts as an interrupt to make sure the object is notified before another engine loop. This is pure virtual and is implemented on a case by case basis in derived classes.

Parameters
[in]eventThe event

Implements Events::Observer.

References handleQueuedEvent().


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