A reimplementation of Mario Kart Wii's physics engine in C++
Loading...
Searching...
No Matches
Kinoko::EGG::SceneManager Class Reference

#include <SceneManager.hh>

Description

Manages the scene stack and transitions between scenes.

Definition at line 17 of file SceneManager.hh.

Public Member Functions

 SceneManager (SceneCreator *creator=nullptr)
 
virtual void calc ()
 
virtual void calcCurrentScene ()
 
void createChildScene (int nextSceneId, Scene *parent)
 
void createScene (int nextSceneId, Scene *parent)
 
void destroyScene (Scene *scene)
 
void changeScene (int nextSceneId)
 
void changeSiblingScene (int nextSceneId)
 
void changeSiblingScene ()
 
void incomingCurrentScene ()
 
void outgoingParentScene (Scene *parent)
 
void reinitCurrentScene ()
 
bool destroyCurrentSceneNoIncoming (bool destroyRootIfNoParent)
 
bool destroyToSelectSceneId (int nextSceneId)
 
ScenefindParentScene (int id) const
 
void setupNextSceneId ()
 
ScenecurrentScene () const
 
int currentSceneId () const
 
void setNextSceneId (int id)
 

Static Public Member Functions

static HeapheapForCreateScene ()
 
static void SetRootHeap (Heap *heap)
 

Private Attributes

SceneCreatorm_creator
 
Scenem_currentScene
 
int m_nextSceneId
 
int m_currentSceneId
 
int m_prevSceneId
 

Static Private Attributes

static Heaps_heapForCreateScene = nullptr
 
static u16 s_heapOptionFlg = DEFAULT_OPT
 
static Heaps_rootHeap = nullptr
 

Constructor & Destructor Documentation

◆ SceneManager()

Kinoko::EGG::SceneManager::SceneManager ( SceneCreator * creator = nullptr)
0x8023ADDC

Definition at line 12 of file SceneManager.cc.

Member Function Documentation

◆ calc()

void Kinoko::EGG::SceneManager::calc ( )
virtual0x8023AE60

Definition at line 24 of file SceneManager.cc.

◆ calcCurrentScene()

void Kinoko::EGG::SceneManager::calcCurrentScene ( )
virtual0x8023B588

Definition at line 29 of file SceneManager.cc.

◆ changeScene()

void Kinoko::EGG::SceneManager::changeScene ( int nextSceneId)
0x8023AF84

Definition at line 110 of file SceneManager.cc.

◆ changeSiblingScene() [1/2]

void Kinoko::EGG::SceneManager::changeSiblingScene ( )
0x8023B064

Definition at line 125 of file SceneManager.cc.

◆ changeSiblingScene() [2/2]

void Kinoko::EGG::SceneManager::changeSiblingScene ( int nextSceneId)
0x8023AFE0

Definition at line 119 of file SceneManager.cc.

◆ createChildScene()

void Kinoko::EGG::SceneManager::createChildScene ( int nextSceneId,
Scene * parent )
0x8023B248

Definition at line 42 of file SceneManager.cc.

◆ createScene()

void Kinoko::EGG::SceneManager::createScene ( int nextSceneId,
Scene * parent )
0x8023B0E4

Definition at line 50 of file SceneManager.cc.

◆ currentScene()

Scene * Kinoko::EGG::SceneManager::currentScene ( ) const
inlinenodiscard

Definition at line 59 of file SceneManager.hh.

◆ currentSceneId()

int Kinoko::EGG::SceneManager::currentSceneId ( ) const
inlinenodiscard

Definition at line 63 of file SceneManager.hh.

◆ destroyCurrentSceneNoIncoming()

bool Kinoko::EGG::SceneManager::destroyCurrentSceneNoIncoming ( bool destroyRootIfNoParent)
0x8023B2AC

Definition at line 162 of file SceneManager.cc.

◆ destroyScene()

void Kinoko::EGG::SceneManager::destroyScene ( Scene * scene)
0x8023B3F0

Definition at line 83 of file SceneManager.cc.

◆ destroyToSelectSceneId()

bool Kinoko::EGG::SceneManager::destroyToSelectSceneId ( int nextSceneId)
0x8023B344

Definition at line 184 of file SceneManager.cc.

◆ findParentScene()

Scene * Kinoko::EGG::SceneManager::findParentScene ( int id) const
nodiscard0x8023B940

Definition at line 198 of file SceneManager.cc.

◆ heapForCreateScene()

static Heap * Kinoko::EGG::SceneManager::heapForCreateScene ( )
inlinestaticnodiscard

Definition at line 67 of file SceneManager.hh.

◆ incomingCurrentScene()

void Kinoko::EGG::SceneManager::incomingCurrentScene ( )
0x8023B568

Definition at line 139 of file SceneManager.cc.

◆ outgoingParentScene()

void Kinoko::EGG::SceneManager::outgoingParentScene ( Scene * parent)
0x8023B92C

Definition at line 148 of file SceneManager.cc.

◆ reinitCurrentScene()

void Kinoko::EGG::SceneManager::reinitCurrentScene ( )
0x8023AEF8

Definition at line 153 of file SceneManager.cc.

◆ setNextSceneId()

void Kinoko::EGG::SceneManager::setNextSceneId ( int id)
inline

Definition at line 75 of file SceneManager.hh.

◆ SetRootHeap()

static void Kinoko::EGG::SceneManager::SetRootHeap ( Heap * heap)
inlinestatic

Definition at line 79 of file SceneManager.hh.

◆ setupNextSceneId()

void Kinoko::EGG::SceneManager::setupNextSceneId ( )
0x8023B910

Definition at line 210 of file SceneManager.cc.

Member Data Documentation

◆ m_creator

SceneCreator* Kinoko::EGG::SceneManager::m_creator
private

Definition at line 88 of file SceneManager.hh.

◆ m_currentScene

Scene* Kinoko::EGG::SceneManager::m_currentScene
private

Definition at line 89 of file SceneManager.hh.

◆ m_currentSceneId

int Kinoko::EGG::SceneManager::m_currentSceneId
private

Definition at line 91 of file SceneManager.hh.

◆ m_nextSceneId

int Kinoko::EGG::SceneManager::m_nextSceneId
private

Definition at line 90 of file SceneManager.hh.

◆ m_prevSceneId

int Kinoko::EGG::SceneManager::m_prevSceneId
private

Definition at line 92 of file SceneManager.hh.

◆ s_heapForCreateScene

Heap * Kinoko::EGG::SceneManager::s_heapForCreateScene = nullptr
staticprivate

Definition at line 94 of file SceneManager.hh.

◆ s_heapOptionFlg

u16 Kinoko::EGG::SceneManager::s_heapOptionFlg = DEFAULT_OPT
staticprivate

Definition at line 95 of file SceneManager.hh.

◆ s_rootHeap

Heap * Kinoko::EGG::SceneManager::s_rootHeap = nullptr
staticprivate

Definition at line 97 of file SceneManager.hh.