|
JNGL
Easy to use cross-platform 2D game library
|
Background job which stays part of the main loop independent of the active jngl::Scene. More...
#include <jngl/job.hpp>
Public Member Functions | |
| virtual void | step ()=0 |
| Advance the game logic. | |
| virtual void | draw () const =0 |
| Draw the game state. | |
| virtual void | onFileDrop (const std::filesystem::path &) |
| Called when a file has been dropped onto the window. | |
| virtual void | onControllersChanged () |
| Whenever the return value of jngl::getConnectedControllers would change, this method gets called. | |
| Job ()=default | |
| Does nothing. | |
| Job (const Job &)=default | |
| Copy constructor. | |
| Job & | operator= (const Job &)=default |
| Copy assignment. | |
| Job (Job &&)=default | |
| Move constructor. | |
| Job & | operator= (Job &&)=default |
| Move assignment. | |
| virtual | ~Job () |
| Does nothing. | |
Background job which stays part of the main loop independent of the active jngl::Scene.
This can be used for an achievement system for example. Override this class and use jngl::addJob to register it.
Jobs (meaning instances of this class that were added using jngl::addJob) are always stepped before the active jngl::Scene and drawn after it. The draw order is reversed, meaning the first Job you added will always be drawn last. Example:
In this example, the order of function calls in each frame will be:
MyFirstJob::step()MySecondJob::step()MyScene::step()MyScene::draw()MySecondJob::draw()MyFirstJob::draw()
|
pure virtual |
Advance the game logic.
This function gets called 60 times per second or whatever has been set by setStepsPerSecond().
Implemented in Fade, and WorkFactory.
|
pure virtual |
Draw the game state.
As it isn't garuanteed that this function is called as often as Job::step, you shouldn't change any game state in it.
Implemented in Fade, and WorkFactory.