1 /*---------------------------------------------------------------------------* 2 Project: Horizon 3 File: Scene.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_SCENE_H_ 17 #define NN_COMMON_SCENE_SCENE_H_ 18 19 #include <nn.h> 20 21 // Pop from the scene stack 22 #define SCENE_ID_POP (-3) 23 // Undefined scene 24 #define SCENE_ID_UNDEFINED (-2) 25 // Empty scene 26 #define SCENE_ID_NULL (-1) 27 28 namespace scene 29 { 30 31 /* Please see man pages for details 32 33 34 35 36 */ 37 class Scene 38 { 39 public: 40 /* Please see man pages for details 41 42 */ Scene()43 Scene() : 44 m_nextSceneId(SCENE_ID_UNDEFINED), 45 m_rejectHome(false) 46 {} 47 48 /* Please see man pages for details 49 50 */ ~Scene()51 virtual ~Scene() {}; 52 53 /* Please see man pages for details 54 55 56 57 */ 58 virtual bool Initialize() = 0; 59 60 /* Please see man pages for details 61 62 */ 63 virtual void Finalize() = 0; 64 65 /* Please see man pages for details 66 67 */ 68 virtual void Update() = 0; 69 70 /* Please see man pages for details 71 72 */ 73 virtual void Draw() = 0; 74 75 /* Please see man pages for details 76 77 78 79 80 81 82 */ 83 void SetNextSceneId(s32 nextSceneId, bool willSave=false) {m_nextSceneId = nextSceneId; m_willSave=willSave;} 84 85 /* Please see man pages for details 86 87 88 89 */ GetNextSceneId()90 s32 GetNextSceneId() const {return m_nextSceneId;} 91 WillSaveSceneIdToStack()92 bool WillSaveSceneIdToStack() const { return m_willSave; } IsRejectHome()93 bool IsRejectHome() const {return m_rejectHome; } 94 95 protected: 96 // Next scene ID 97 s32 m_nextSceneId; 98 99 bool m_willSave; 100 bool m_rejectHome; 101 NN_PADDING2; 102 }; 103 104 } // namespace scene 105 106 #endif // NN_COMMON_SCENE_SCENE_H_ 107