HoverRace  2.0
Public Types | Public Member Functions | List of all members
HoverRace::Client::GameDirector Class Referenceabstract

Interface for game client shells. More...

#include <GameDirector.h>

+ Inheritance diagram for HoverRace::Client::GameDirector:

Public Types

using sessionChangedSignal_t = boost::signals2::signal< void(std::shared_ptr< HoverScript::MetaSession >)>
 

Public Member Functions

virtual ~GameDirector ()
 
virtual Control::InputEventControllerGetController () const =0
 
virtual Display::DisplayGetDisplay () const =0
 
virtual SceneGetForegroundScene () const =0
 Gets foreground scene, if available. More...
 
virtual RosterGetParty () const =0
 Retrieve the list of players connected to this game instance. More...
 
virtual sessionChangedSignal_tGetSessionChangedSignal ()=0
 Access the signal that indicates that the gameplay session started or stopped. More...
 
virtual VideoServices::VideoBufferGetVideoBuffer () const =0
 
virtual Control::InputEventControllerReloadController ()=0
 Reload the control settings. More...
 
virtual void RequestAnnouncement (std::shared_ptr< Announcement > ann)=0
 Request an announcement to be displayed. More...
 
virtual void RequestMainMenu (std::shared_ptr< LoadingScene > loadingScene=std::shared_ptr< LoadingScene >())=0
 Request a return to the main menu. More...
 
virtual void RequestNewPracticeSession (std::shared_ptr< Rules > rules, std::shared_ptr< LoadingScene > loadingScene=std::shared_ptr< LoadingScene >())=0
 Request a new local practice session. More...
 
virtual void RequestPopScene ()=0
 Return to the previous scene, if any. More...
 
virtual void RequestPushScene (const std::shared_ptr< Scene > &scene)=0
 Push a new scene to the foreground. More...
 
virtual void RequestReplaceScene (const std::shared_ptr< Scene > &scene)=0
 Replace the current scene and all background scenes with a new foreground scene. More...
 
virtual void RequestShutdown ()=0
 Request an orderly shutdown the of app. More...
 
virtual void RequestSoftRestart ()=0
 Request a restart of the app without restarting the whole process. More...
 
virtual void RequestStatusPresentation ()=0
 Request that the status (logged-in players, etc.) be momentarily displayed to remind the user what's going on. More...
 
virtual std::shared_ptr< Player::AvatarGalleryShareAvatarGallery () const =0
 Retrieve the global avatar gallery. More...
 
virtual std::shared_ptr< Player::PlayerShareUiPilot () const =0
 Retrieve the current local player who is in control of the UI at the moment. More...
 

Detailed Description

Interface for game client shells.

Author
Michael Imamura

Member Typedef Documentation

using HoverRace::Client::GameDirector::sessionChangedSignal_t = boost::signals2::signal<void(std::shared_ptr<HoverScript::MetaSession>)>

Constructor & Destructor Documentation

virtual HoverRace::Client::GameDirector::~GameDirector ( )
inlinevirtual

Member Function Documentation

virtual Control::InputEventController* HoverRace::Client::GameDirector::GetController ( ) const
pure virtual
virtual Display::Display* HoverRace::Client::GameDirector::GetDisplay ( ) const
pure virtual
virtual Scene* HoverRace::Client::GameDirector::GetForegroundScene ( ) const
pure virtual

Gets foreground scene, if available.

Returns
nullptr if no scene is active, else the foreground scene.

Implemented in HoverRace::Client::ClientApp.

virtual Roster* HoverRace::Client::GameDirector::GetParty ( ) const
pure virtual

Retrieve the list of players connected to this game instance.

Returns
The list (may be nullptr).

Implemented in HoverRace::Client::ClientApp.

virtual sessionChangedSignal_t& HoverRace::Client::GameDirector::GetSessionChangedSignal ( )
pure virtual

Access the signal that indicates that the gameplay session started or stopped.

Subscribers to this signal will get the ClientSession instance if the session is starting or nullptr if the session has ended.

Implemented in HoverRace::Client::ClientApp.

virtual VideoServices::VideoBuffer* HoverRace::Client::GameDirector::GetVideoBuffer ( ) const
pure virtual
virtual Control::InputEventController* HoverRace::Client::GameDirector::ReloadController ( )
pure virtual

Reload the control settings.

Returns
The new control settings.

Implemented in HoverRace::Client::ClientApp.

virtual void HoverRace::Client::GameDirector::RequestAnnouncement ( std::shared_ptr< Announcement ann)
pure virtual

Request an announcement to be displayed.

Note
This may be called from any thread.
Parameters
annThe announcement (may not be nullptr).

Implemented in HoverRace::Client::ClientApp.

virtual void HoverRace::Client::GameDirector::RequestMainMenu ( std::shared_ptr< LoadingScene loadingScene = std::shared_ptr< LoadingScene >())
pure virtual

Request a return to the main menu.

Parameters
loadingSceneOptional loading scene instead of default.

Implemented in HoverRace::Client::ClientApp.

virtual void HoverRace::Client::GameDirector::RequestNewPracticeSession ( std::shared_ptr< Rules rules,
std::shared_ptr< LoadingScene loadingScene = std::shared_ptr< LoadingScene >() 
)
pure virtual

Request a new local practice session.

Parameters
rulesThe settings for the session.
loadingSceneOptional loading scene instead of default.

Implemented in HoverRace::Client::ClientApp.

virtual void HoverRace::Client::GameDirector::RequestPopScene ( )
pure virtual

Return to the previous scene, if any.

Note
This may be called from any thread.

Implemented in HoverRace::Client::ClientApp.

virtual void HoverRace::Client::GameDirector::RequestPushScene ( const std::shared_ptr< Scene > &  scene)
pure virtual

Push a new scene to the foreground.

Note
This may be called from any thread.
Parameters
sceneThe scene to push.

Implemented in HoverRace::Client::ClientApp.

virtual void HoverRace::Client::GameDirector::RequestReplaceScene ( const std::shared_ptr< Scene > &  scene)
pure virtual

Replace the current scene and all background scenes with a new foreground scene.

Note
This may be called from any thread.
Parameters
sceneThe scene to push.

Implemented in HoverRace::Client::ClientApp.

virtual void HoverRace::Client::GameDirector::RequestShutdown ( )
pure virtual

Request an orderly shutdown the of app.

This call returns immediately; the shutdown will actually occur later, possibly when you least expect it. All normal "Are you sure?" confirmation prompts will be skipped.

Implemented in HoverRace::Client::ClientApp.

virtual void HoverRace::Client::GameDirector::RequestSoftRestart ( )
pure virtual

Request a restart of the app without restarting the whole process.

Implemented in HoverRace::Client::ClientApp.

virtual void HoverRace::Client::GameDirector::RequestStatusPresentation ( )
pure virtual

Request that the status (logged-in players, etc.) be momentarily displayed to remind the user what's going on.

Implemented in HoverRace::Client::ClientApp.

virtual std::shared_ptr<Player::AvatarGallery> HoverRace::Client::GameDirector::ShareAvatarGallery ( ) const
pure virtual

Retrieve the global avatar gallery.

Returns
The gallery (never nullptr).

Implemented in HoverRace::Client::ClientApp.

virtual std::shared_ptr<Player::Player> HoverRace::Client::GameDirector::ShareUiPilot ( ) const
pure virtual

Retrieve the current local player who is in control of the UI at the moment.

Returns
The player (may be nullptr if nobody has seized control).

Implemented in HoverRace::Client::ClientApp.


The documentation for this class was generated from the following file: