From e3571619c0a4848f25cf72cf993fed04b1b8f904 Mon Sep 17 00:00:00 2001 From: Nick Gasson Date: Mon, 9 Jun 2008 20:08:16 +0100 Subject: [PATCH] Options screen state machine --- src/Options.cpp | 29 +++++++++++++++++++++++++++++ src/Options.hpp | 13 ++++++++++++- 2 files changed, 41 insertions(+), 1 deletion(-) diff --git a/src/Options.cpp b/src/Options.cpp index 82004b2..67aee27 100644 --- a/src/Options.cpp +++ b/src/Options.cpp @@ -19,6 +19,8 @@ #include "Menu.hpp" Options::Options() + : state(optFadeIn), + helpFont(LocateResource("Default_Font.ttf"), 14) { } @@ -28,11 +30,38 @@ void Options::Load() } +void Options::ProcessFadeIn() +{ + +} + +void Options::ProcessMain() +{ + +} + +void Options::ProcessFadeOut() +{ + +} + void Options::Process() { static_cast (ScreenManager::GetInstance().GetScreenById("MAIN MENU")) ->MoveStars(); + + switch (state) { + case optFadeIn: + ProcessFadeIn(); + break; + case optMain: + ProcessMain(); + break; + case optFadeOut: + ProcessFadeOut(); + break; + } } void Options::Display() diff --git a/src/Options.hpp b/src/Options.hpp index 794ae18..1a77aaf 100644 --- a/src/Options.hpp +++ b/src/Options.hpp @@ -20,6 +20,7 @@ #include "Platform.hpp" #include "ScreenManager.hpp" +#include "Font.hpp" class Options : public Screen { public: @@ -29,8 +30,18 @@ public: void Load(); void Process(); void Display(); - private: + void ProcessFadeIn(); + void ProcessMain(); + void ProcessFadeOut(); + + enum OptionState { + optFadeIn, optMain, optFadeOut + }; + + OptionState state; + Font helpFont; + }; #endif -- 2.39.2