HoverRace
2.0
|
Displays a message to the user. More...
#include <MessageScene.h>
Public Types | |
using | cancelSignal_t = boost::signals2::signal< void()> |
using | okSignal_t = boost::signals2::signal< void()> |
Public Types inherited from HoverRace::Client::Scene | |
enum | Phase { Phase::INITIALIZING, Phase::STARTING, Phase::RUNNING, Phase::STOPPING, Phase::STOPPED } |
enum | State { State::INITIALIZING, State::BACKGROUND, State::RAISING, State::FOREGROUND, State::LOWERING } |
Public Member Functions | |
MessageScene (Display::Display &display, GameDirector &director, const std::string &title, const std::string &message, bool hasCancel=false) | |
Constructor. More... | |
virtual | ~MessageScene () |
void | AttachController (Control::InputEventController &controller, ConnList &conns) override |
Configure the controller mappings. More... | |
cancelSignal_t & | GetCancelSignal () |
okSignal_t & | GetOkSignal () |
void | Layout () override |
Adjust the size and position of any child elements. More... | |
void | OnPhaseTransition (double progress) override |
Fired during the starting and stopping phases, if SetPhaseTransitionDuration() was set. More... | |
void | PrepareRender () override |
void | Render () override |
Public Member Functions inherited from HoverRace::Client::FormScene | |
FormScene (Display::Display &display, const std::string &name="") | |
virtual | ~FormScene () |
Public Member Functions inherited from HoverRace::Client::UiScene | |
UiScene (const std::string &name="") | |
virtual | ~UiScene () |
void | AttachController (Control::InputEventController &controller, ConnList &conns) override |
Configure the controller mappings. More... | |
void | DetachController (Control::InputEventController &, ConnList &) override |
Remove the controller mappings. More... | |
bool | IsMouseCursorEnabled () const override |
Determine if the mouse cursor is enabled for this scene. More... | |
void | PrepareRender () override |
void | Render () override |
Public Member Functions inherited from HoverRace::Client::Scene | |
Scene (const std::string &name="Unnamed Scene") | |
Constructor. More... | |
virtual | ~Scene () |
void | AdvanceScene (Util::OS::timestamp_t tick) |
void | AttachInput (Control::InputEventController &controller) |
Attach the user input to the scene. More... | |
void | DetachInput (Control::InputEventController &controller) |
Detach the user input from the scene. More... | |
const std::string & | GetName () const |
Retrieve the name of the scene. More... | |
Phase | GetPhase () const |
State | GetState () const |
bool | MoveToBackground () |
Signal that the scene is moving into the background. More... | |
bool | MoveToForeground () |
Signal that the scene is moving into the foreground. More... | |
virtual void | OnScenePushed () |
Called when the scene is actually pushed to the stage. More... | |
Scene & | operator= (const Scene &)=delete |
virtual std::ostream & | OutputDebugText (std::ostream &oss) const |
Output a stream of debug information describing this scene. More... | |
void | PrepareScene () |
void | RenderScene () |
bool | SetPhase (Phase phase) |
Switch to another phase. More... | |
Private Types | |
using | SUPER = FormScene |
Private Member Functions | |
void | OnCancel () |
void | OnOk () |
Private Attributes | |
std::shared_ptr< Display::ActionButton > | cancelBtn |
cancelSignal_t | cancelSignal |
GameDirector & | director |
std::unique_ptr< Display::ScreenFade > | fader |
bool | hasCancel |
std::shared_ptr< Display::Label > | messageLbl |
std::shared_ptr< Display::Button > | okBtn |
boost::signals2::scoped_connection | okConn |
okSignal_t | okSignal |
std::shared_ptr< Display::Label > | titleLbl |
Static Private Attributes | |
static const int | HORZ_PADDING = 40 |
Additional Inherited Members | |
Protected Member Functions inherited from HoverRace::Client::FormScene | |
Display::Container * | GetRoot () const |
Protected Member Functions inherited from HoverRace::Client::UiScene | |
void | RequestLayout () |
Indicate that the current layout is out-of-date and needs to be adjusted. More... | |
void | SetFocusRoot (std::shared_ptr< Display::UiViewModel > root) |
Set the widget used as the root for all focus management. More... | |
Protected Member Functions inherited from HoverRace::Client::Scene | |
virtual void | Advance (Util::OS::timestamp_t tick) |
Util::OS::timestamp_t | GetPhaseDuration (Util::OS::timestamp_t curTime=Util::OS::Time()) |
Calculate how much time we've spent in the current phase. More... | |
Util::OS::timestamp_t | GetStartingPhaseTime () |
Return how long the starting phase lasted. More... | |
Util::OS::timestamp_t | GetStateDuration (Util::OS::timestamp_t curTime=Util::OS::Time()) |
Calculate how much time we've spent in the current state. More... | |
virtual void | OnPhaseChanged (Phase oldPhase) |
Fired immediately after entering a new phase. More... | |
virtual void | OnStateChanged (State oldState) |
Fired immediately after entering a new state. More... | |
virtual void | OnStateTransition (double progress) |
Fired during the raising and lowering states, if SetStateTransitionDuration() was set. More... | |
void | SetPhaseTransitionDuration (Util::OS::timestamp_t ms) |
Set the maximum duration of the starting or stopping phases. More... | |
void | SetStateTransitionDuration (Util::OS::timestamp_t ms) |
Set the maximum duration of the raising or lowering state. More... | |
Protected Attributes inherited from HoverRace::Client::FormScene | |
Display::Display & | display |
Protected Attributes inherited from HoverRace::Client::Scene | |
std::shared_ptr< Util::Profiler > | advanceProfiler |
std::shared_ptr< Util::Profiler > | prepareProfiler |
std::shared_ptr< Util::Profiler > | renderProfiler |
std::shared_ptr< Util::Profiler > | rootProfiler |
Displays a message to the user.
using HoverRace::Client::MessageScene::cancelSignal_t = boost::signals2::signal<void()> |
using HoverRace::Client::MessageScene::okSignal_t = boost::signals2::signal<void()> |
|
private |
HoverRace::Client::MessageScene::MessageScene | ( | Display::Display & | display, |
GameDirector & | director, | ||
const std::string & | title, | ||
const std::string & | message, | ||
bool | hasCancel = false |
||
) |
Constructor.
display | The current display. |
director | The current game director. |
title | The title text (may be empty). |
message | The message text (may be empty). |
hasCancel | true for both "OK" and "Cancel" buttons, false for only an "OK" button. |
|
virtual |
|
overridevirtual |
Configure the controller mappings.
This is called whenever the scene becomes the foreground scene or the controller config needs to be rebuilt.
controller | The current controller being used. It can be assumed that the controller's action mappings have been cleared. |
conns | The list to manage connections while the input is attached. Any connections added to this list will be automatically disconnected when then the input is detached. |
Reimplemented from HoverRace::Client::FormScene.
|
inline |
|
inline |
|
overridevirtual |
Adjust the size and position of any child elements.
Subclasses with child elements that are relative to each other should override this function.
This is called automatically during the PrepareRender() phase if RequestLayout() has been called. It is also called the first time PrepareRender() is invoked. After this function is called, it will not be called again until another call to RequestLayout().
Reimplemented from HoverRace::Client::UiScene.
|
private |
|
private |
|
overridevirtual |
Fired during the starting and stopping phases, if SetPhaseTransitionDuration() was set.
progress | The animation progress (during the STARTING phase this goes from 0.0 to 1.0, and in reverse for the STOPPING phase). |
Reimplemented from HoverRace::Client::Scene.
|
overridevirtual |
Reimplemented from HoverRace::Client::FormScene.
|
overridevirtual |
Reimplemented from HoverRace::Client::FormScene.
|
private |
|
private |
|
private |
|
private |
|
private |
|
staticprivate |
|
private |
|
private |
|
private |
|
private |
|
private |