#pragma once #pragma push_macro("byte") #pragma push_macro("GetNextSibling") #pragma push_macro("GetFirstChild") #undef byte #undef GetNextSibling #undef GetFirstChild #include "UIScene.h" #include "IUIScene_PauseMenu.h" #include #include // NOTE: pop_macro at end of file class UIScene_PauseMenu : public UIScene, public IUIScene_PauseMenu, public Rml::EventListener { public: UIScene_PauseMenu(int iPad, void *initData, UILayer *parentLayer); virtual ~UIScene_PauseMenu(); virtual EUIScene getSceneType() { return eUIScene_PauseMenu; } virtual void tick(); virtual void render(S32 width, S32 height, C4JRender::eViewportType viewport); virtual void handleInput(int iPad, int key, bool repeat, bool pressed, bool released, bool &handled); // Override focus/movie lifecycle for RmlUi (no Iggy movie) virtual void gainFocus() override; virtual void reloadMovie(bool force) override; // Rml::EventListener void ProcessEvent(Rml::Event& event) override; protected: virtual wstring getMoviePath() { return L""; } virtual void handleLoseFocus() override; void ShowScene(bool show) override; void SetIgnoreInput(bool ignoreInput) override { m_bIgnoreInput = ignoreInput; } void navigateBack(); void OnResume(); void OnHelpAndOptions(); void OnAchievements(); void OnSaveGame(); void OnExitGame(); void OnExitSave(); void OnExitNoSave(); void OnExitCancel(); void OnSaveConfirm(); void OnSaveCancel(); void ShowExitDialog(bool show); void ShowSaveDialog(bool show); private: Rml::ElementDocument* m_document; bool m_bIgnoreInput; bool m_bExitDialog; bool m_bSaveDialog; }; #pragma pop_macro("GetFirstChild") #pragma pop_macro("GetNextSibling") #pragma pop_macro("byte")