25 #include "../../engine/Model/GameSession.h" 26 #include "../../engine/VideoServices/Sprite.h" 27 #include "../../engine/Util/OS.h" 31 namespace HoverScript {
88 bool AdvancePhase(
Phase nextPhase);
90 std::shared_ptr<HoverScript::MetaSession>
GetMeta()
const {
return meta; };
91 void SetMeta(std::shared_ptr<HoverScript::MetaSession> meta);
94 virtual void Process();
96 virtual bool LoadNew(
const char *pTitle,
Script::Core &scripting,
97 std::shared_ptr<Model::Track> track,
100 void AttachPlayer(
int i, std::shared_ptr<Player::Player> player);
102 std::shared_ptr<Util::Clock>
GetClock() {
return clock; }
107 void UpdateCharacterSimulationTimes();
109 const MR_UInt8 *GetBackImage()
const;
111 virtual int ResultAvaillable()
const;
112 virtual void GetResult(
int pPosition,
const char *&pPlayerName,
int &pId, BOOL & pConnected,
int &pNbLap,
MR_SimulationTime &pFinishTime,
MR_SimulationTime &pBestLap)
const;
113 virtual void GetHitResult(
int pPosition,
const char *&pPlayerName,
int &pId, BOOL & pConnected,
int &pNbHitOther,
int &pNbHitHimself)
const;
115 virtual int GetNbPlayers()
const;
120 return players[
static_cast<size_t>(i)].
get();
125 return players[
static_cast<size_t>(i)];
129 virtual void AddMessageKey(
char pKey);
130 virtual void GetCurrentMessage(
char *pDest)
const;
131 BOOL GetMessageStack(
int pLevel,
char *pDest,
int pExpiration)
const;
132 void AddMessage(
const char *pMessage);
135 std::shared_ptr<HoverScript::TrackPeer>
GetTrackPeer()
const {
return trackPeer; }
137 std::shared_ptr<Rules>
GetRules() {
return rules; }
143 static const int CHAT_MESSAGE_STACK = 8;
147 static const int MAX_PLAYERS = 4;
148 std::array<std::shared_ptr<Player::Player>, MAX_PLAYERS>
players;
150 std::shared_ptr<HoverScript::MetaSession>
meta;
std::shared_ptr< HoverScript::MetaSession > meta
Definition: ClientSession.h:150
std::shared_ptr< HoverScript::TrackPeer > trackPeer
Definition: ClientSession.h:151
Phase
Definition: ClientSession.h:67
ChatMessage()
Definition: ClientSession.h:79
virtual std::shared_ptr< Player::Player > SharePlayer(int i) const
Definition: ClientSession.h:123
time_t mCreationTime
Definition: ClientSession.h:81
std::shared_ptr< Util::Clock > clock
Definition: ClientSession.h:155
std::shared_ptr< Util::Clock > countdown
Definition: ClientSession.h:156
std::shared_ptr< Rules > rules
Definition: ClientSession.h:158
std::shared_ptr< Util::Clock > GetClock()
Definition: ClientSession.h:102
std::shared_ptr< Util::Clock > GetCountdown()
Definition: ClientSession.h:103
Base class for parcel implementations.
Definition: RecordFile.h:46
std::string countdown
Definition: Observer.cpp:56
Phase phase
Definition: ClientSession.h:140
Phase GetPhase() const
Definition: ClientSession.h:86
std::array< std::shared_ptr< Player::Player >, MAX_PLAYERS > players
Definition: ClientSession.h:148
MR_Int32 MR_SimulationTime
Definition: WorldCoordinates.h:106
virtual Player::Player * GetPlayer(int i) const
Definition: ClientSession.h:118
boost::signals2::scoped_connection countdownConn
Definition: ClientSession.h:157
Video framebuffer for legacy (8-bit, palettized) rendering.
Definition: VideoBuffer.h:54
std::shared_ptr< HoverScript::MetaSession > GetMeta() const
Definition: ClientSession.h:90
A track level.
Definition: Track.h:57
MR_UInt8 * mBackImage
Definition: ClientSession.h:153
Model::GameSession mSession
Definition: ClientSession.h:146
Definition: ClientSession.h:58
Definition: Announcement.h:24
Definition: GameSession.h:54
boost::mutex chatMutex
Definition: ClientSession.h:142
Base class for connected players.
Definition: Player.h:49
std::string mBuffer
Definition: ClientSession.h:82
The relative time between two timestamps.
Definition: Duration.h:49
std::shared_ptr< Rules > GetRules()
Definition: ClientSession.h:137
uint8_t MR_UInt8
Definition: MR_Types.h:40
std::shared_ptr< HoverScript::TrackPeer > GetTrackPeer() const
Definition: ClientSession.h:135
Definition: MainCharacter.h:62
Definition: ClientSession.h:77
A script environment.
Definition: Core.h:66