1 /*---------------------------------------------------------------------------* 2 Project: Horizon 3 File: SceneManager.h 4 5 Copyright (C)2009-2012 Nintendo Co., Ltd. All rights reserved. 6 7 These coded instructions, statements, and computer programs contain 8 proprietary information of Nintendo of America Inc. and/or Nintendo 9 Company Ltd., and are protected by Federal copyright law. They may 10 not be disclosed to third parties or copied or duplicated in any form, 11 in whole or in part, without the prior written consent of Nintendo. 12 13 $Rev: 46365 $ 14 *---------------------------------------------------------------------------*/ 15 16 #ifndef NN_COMMON_SCENE_SCENEMANAGER_H_ 17 #define NN_COMMON_SCENE_SCENEMANAGER_H_ 18 19 #include "SceneFactory.h" 20 #include "Scene.h" 21 #include "Stack.h" 22 23 namespace scene 24 { 25 26 /* Please see man pages for details 27 28 29 30 */ 31 class SceneManager 32 { 33 public: 34 /* Please see man pages for details 35 36 */ 37 SceneManager(); 38 39 /* Please see man pages for details 40 41 */ 42 virtual ~SceneManager(); 43 44 /* Please see man pages for details 45 46 47 48 49 50 51 */ 52 bool Initialize(SceneFactory* pSceneFactory, s32 initialSceneId); 53 54 /* Please see man pages for details 55 56 */ 57 void Finalize(); 58 59 /* Please see man pages for details 60 61 */ 62 void Update(); 63 64 /* Please see man pages for details 65 66 */ 67 void Draw(); 68 69 /* Please see man pages for details 70 71 72 73 */ 74 bool IsExpectedToFinish(); 75 76 /* Please see man pages for details 77 78 79 80 */ 81 bool IsRejectHome(); 82 83 protected: 84 // Scene factory 85 SceneFactory* m_pSceneFactory; 86 // Scene 87 Scene* m_pScene; 88 // Scene ID 89 s32 m_sceneId; 90 // Scene state 91 s32 m_sceneState; 92 93 // Scene stack 94 Stack<s32, 16> m_sceneStack; 95 }; 96 97 } // namespace scene 98 99 #endif // NN_COMMON_SCENE_SCENEMANAGER_H_ 100