Nymph Game Engine
Chaiscript based Game Engine
|
Class for camera. More...
#include <camera.h>
Public Member Functions | |
Camera ()=delete | |
Camera (const std::shared_ptr< ShaderManager > shader_manager) | |
Constructor for Camera. More... | |
Camera (const std::shared_ptr< ShaderManager > shader_manager, const float viewport_width, const float viewport_height, const float near=0.1, const float far=1.0) | |
Constructor for Camera. More... | |
virtual void | onStart () override |
Called when the engine starts and when a new scene is loaded. More... | |
virtual bool | onUpdate (const double delta) override |
Called every engine loop. More... | |
virtual void | onDestroy () override |
Called when the engine is shutting down. More... | |
void | setScreenPaddingInTiles (const int padding) noexcept |
Sets the screen padding in tiles. More... | |
int | getScreenPaddingInTiles () const noexcept |
Gets the screen padding in tiles. More... | |
void | setWidth (const float width) noexcept |
Sets the width. More... | |
float | getWidth () const noexcept |
Gets the width. More... | |
void | setHeight (const float height) noexcept |
Sets the height. More... | |
float | getHeight () const noexcept |
Gets the height. More... | |
void | setNear (const float near) noexcept |
Sets the near z plane. More... | |
float | getNear () const noexcept |
Gets the near z plane. More... | |
void | setFar (const float far) noexcept |
Sets the far z plane. More... | |
float | getFar () const noexcept |
Gets the far z plane. More... | |
void | setFreeCameraSpeed (const float speed) noexcept |
Sets the free camera speed when in free camera mode. More... | |
float | getFreeCameraSpeed () const noexcept |
Gets the free camera speed when in free camera mode. More... | |
glm::mat4 | getProjectionMatrix () const noexcept |
Gets the projection matrix. More... | |
bool | isComponentWithin (const Component &component) const |
Determines if component within. More... | |
virtual std::string | className () const noexceptoverride |
Returns a string representing the class name. More... | |
virtual unsigned long long | getValueForSorting () const noexceptoverride |
Gets the value for sorting. 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... | |
virtual void | log (el::base::type::ostream_t &os) const override |
Public Member Functions inherited from Component | |
Component () | |
Component constructor. More... | |
void | setTransform (std::shared_ptr< Transform > transform) |
Sets the transform. More... | |
std::shared_ptr< Transform > | getTransform () const noexcept |
Gets the transform. More... | |
void | setActive (const bool active) noexcept |
Sets the component active or inactive. More... | |
bool | isActive () const noexcept |
Determines if active. More... | |
unsigned int | getId () const noexcept |
Gets the identifier. More... | |
virtual std::string | to_string () const noexcept |
Returns a string representation of the object. More... | |
bool | operator< (Component &other) noexcept |
Operator < using getValueForSorting. More... | |
virtual | ~Component () |
Destroys the object. More... | |
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< Event > | getEvent () |
bool | eventsWaiting () const noexcept |
Protected Attributes inherited from Component | |
std::weak_ptr< Entity > | entity |
std::shared_ptr< Transform > | transform |
bool | active |
unsigned int | id |
Static Protected Attributes inherited from Component | |
static unsigned int | next_id = 0 |
Class for camera.
|
delete |
Graphics::Camera::Camera | ( | const std::shared_ptr< ShaderManager > | shader_manager | ) |
Constructor for Camera.
[in] | shader_manager | The shader manager |
Graphics::Camera::Camera | ( | const std::shared_ptr< ShaderManager > | shader_manager, |
const float | viewport_width, | ||
const float | viewport_height, | ||
const float | near = 0.1 , |
||
const float | far = 1.0 |
||
) |
Constructor for Camera.
[in] | shader_manager | The shader manager |
[in] | viewport_width | The viewport width |
[in] | viewport_height | The viewport height |
[in] | near | The near plane z value |
[in] | far | The far plane z value |
|
overridevirtualnoexcept |
Returns a string representing the class name.
Reimplemented from Component.
Referenced by generated::getCameraModule().
|
noexcept |
|
noexcept |
Gets the free camera speed when in free camera mode.
Referenced by generated::getCameraModule().
|
noexcept |
|
noexcept |
|
noexcept |
Gets the projection matrix.
Referenced by generated::getCameraModule(), and Engine::setup().
|
noexcept |
Gets the screen padding in tiles.
Referenced by generated::getCameraModule().
|
overridevirtualnoexcept |
Gets the value for sorting.
Implements Component.
References Component::getId().
|
noexcept |
|
overridevirtual |
HandleQueuedEvent allows derived classes to define behaviour for when queuedEvents are received.
[in] | event | The event |
Reimplemented from Component.
References Component::getTransform(), Component::handleQueuedEvent(), Events::KEY_DOWN, Events::KEY_REPEAT, Events::KEY_UP, and Events::SPRITE_MOVE.
Referenced by onNotifyNow().
bool Graphics::Camera::isComponentWithin | ( | const Component & | component | ) | const |
Determines if component within.
[in] | component | The component |
References Component::getTransform().
Referenced by generated::getCameraModule().
|
overridevirtual |
Reimplemented from Component.
References Component::log().
|
overridevirtual |
Called when the engine is shutting down.
Implements Component.
|
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.
[in] | event | The event |
Reimplemented from Component.
References handleQueuedEvent().
|
overridevirtual |
Called when the engine starts and when a new scene is loaded.
Implements Component.
References Graphics::UI::ChangeTextEvent::create(), Transform::getAbsoluteTransformationMatrix(), Component::getTransform(), and Events::Subject::notify().
|
overridevirtual |
Called every engine loop.
[in] | delta | The delta |
Implements Component.
References Component::active, Graphics::UI::ChangeTextEvent::create(), Transform::getAbsoluteTransformationMatrix(), Component::getTransform(), and Events::Subject::notify().
|
noexcept |
|
noexcept |
Sets the free camera speed when in free camera mode.
[in] | speed | The speed |
Referenced by generated::getCameraModule().
|
noexcept |
|
noexcept |
|
noexcept |
Sets the screen padding in tiles.
[in] | padding | The padding |
Referenced by generated::getCameraModule().
|
noexcept |