jade-engine  0.0
JadeEngine::PoweredByJadeEngineScene Class Reference
Inheritance diagram for JadeEngine::PoweredByJadeEngineScene:
JadeEngine::IScene

Public Member Functions

void Start () override
 
void Update () override
 
void SetNextScene (const int32_t nextSceneId)
 
- Public Member Functions inherited from JadeEngine::IScene
virtual void SpriteHovered (Sprite *oldSprite, Sprite *newSprite)
 
virtual void PreUpdate ()
 
bool GetInitialized () const
 
void SetInitialized (const bool initialized)
 
bool GetActive () const
 
void SetActive (const bool active)
 

Member Function Documentation

◆ Start()

void JadeEngine::PoweredByJadeEngineScene::Start ( )
overridevirtual

Triggered the first time this scene is played.

An ideal callback to initialize the scene's game objects. Only triggered once, i.e. second call to GGame.PlayScene with this scene will not trigger Start(). Start() will be triggered immediately when GGame.PlayScene is called while the first Update() will happen next frame.

See also
Game::PlayScene
void GameScene::Start() //override
{
// Assuming GameScene has `Button* _button` and `float _timer` members and we have filled `ButtonParams buttonParams` variable.
_button = GGame.Create<Button>(buttonParams);
_timer = 5.0f;
}

Reimplemented from JadeEngine::IScene.

◆ Update()

void JadeEngine::PoweredByJadeEngineScene::Update ( )
overridevirtual

Triggered every frame by the Jade Engine while this scene is active.

To obtain delta time since last frame use GTime.deltaTime.

The trigger order is the following: IScene::PreUpdate -> IGameObject::Load -> IGameObject::Update -> IScene::Update -> IGameObject::Load -> IGameObject::Render.

See also
Game::PlayScene, Time, IGameObject::Update
#include "Button.h"
#include "EngineTime.h"
void GameScene::Update() //override
{
// Assuming we have created a Button in the scene's Start() callback
if (_button->Released())
{
// Button was pressed, do something
}
// Assuming the scene contains `float _timer` member variable initialized to certain amount of time in seconds
_timer -= GTime.deltaTime;
if (_timer < 0.0f)
{
// Timer expired, do something
}
}

Reimplemented from JadeEngine::IScene.


The documentation for this class was generated from the following files:
JadeEngine::Game::Create
std::add_pointer_t< Class > Create(const CreationStruct &params)
Definition: Game.h:299