HoverRace  2.0
Classes | Public Member Functions | Static Protected Member Functions | Private Types | Private Attributes | List of all members
HoverRace::Client::PlayerStatusAnnouncement Class Reference

Player status change (join / leave) announcement. More...

#include <PlayerStatusAnnouncement.h>

+ Inheritance diagram for HoverRace::Client::PlayerStatusAnnouncement:

Classes

struct  Status
 

Public Member Functions

 PlayerStatusAnnouncement (Status::status_t status, std::shared_ptr< Player::Player > target, std::shared_ptr< Player::Player > subject)
 Constructor. More...
 
virtual ~PlayerStatusAnnouncement ()
 
std::shared_ptr< Display::BoxCreateIcon (Display::Display &display, Display::Container &parent) const override
 Create the optional icon to display next to the announcement. More...
 
Status::status_t GetStatus () const
 
- Public Member Functions inherited from HoverRace::Client::MessageAnnouncement
 MessageAnnouncement (const std::string &label, std::shared_ptr< Player::Player > player={})
 
 MessageAnnouncement (const std::string &label, const std::string &text, std::shared_ptr< Player::Player > player={})
 
virtual ~MessageAnnouncement ()
 
void CreateContents (Display::Display &display, Display::FlexGrid &grid) const override
 Fill in the UI contents of the announcement. More...
 
- Public Member Functions inherited from HoverRace::Client::Announcement
 Announcement (const std::string &postType, const std::string &label, std::shared_ptr< Player::Player > player)
 Constructor. More...
 
virtual ~Announcement ()
 
const std::string & GetLabel () const
 
std::shared_ptr< Player::PlayerGetPlayer () const
 
const std::string & GetPostType () const
 
virtual void OnClick ()
 Handle when the announcement is clicked. More...
 
Announcementoperator= (const Announcement &)=delete
 
virtual std::ostream & StreamOut (std::ostream &os) const
 

Static Protected Member Functions

static std::string RenderStatusText (Status::status_t status, const Player::Player &player)
 Generate the announcement text for the status. More...
 

Private Types

using SUPER = MessageAnnouncement
 

Private Attributes

Status::status_t status
 
std::shared_ptr< Player::Playersubject
 

Additional Inherited Members

- Protected Member Functions inherited from HoverRace::Client::MessageAnnouncement
 MessageAnnouncement (const std::string &postType, const std::string &label, const std::string &text, std::shared_ptr< Player::Player > player={})
 

Detailed Description

Player status change (join / leave) announcement.

Author
Michael Imamura

Member Typedef Documentation

Constructor & Destructor Documentation

HoverRace::Client::PlayerStatusAnnouncement::PlayerStatusAnnouncement ( Status::status_t  status,
std::shared_ptr< Player::Player target,
std::shared_ptr< Player::Player subject 
)

Constructor.

Parameters
statusThe player status.
targetThe target player (may not be nullptr).
subjectThe subject player (may not be nullptr).
virtual HoverRace::Client::PlayerStatusAnnouncement::~PlayerStatusAnnouncement ( )
inlinevirtual

Member Function Documentation

std::shared_ptr< Display::Box > HoverRace::Client::PlayerStatusAnnouncement::CreateIcon ( Display::Display display,
Display::Container parent 
) const
overridevirtual

Create the optional icon to display next to the announcement.

Parameters
displayThe display the announcement will appear on.
parentThe container the icon will be added to.
Returns
The created icon (may be nullptr).

Reimplemented from HoverRace::Client::MessageAnnouncement.

Status::status_t HoverRace::Client::PlayerStatusAnnouncement::GetStatus ( ) const
inline
std::string HoverRace::Client::PlayerStatusAnnouncement::RenderStatusText ( Status::status_t  status,
const Player::Player subject 
)
staticprotected

Generate the announcement text for the status.

Parameters
statusThe player status.
subjectThe subject player.

Member Data Documentation

Status::status_t HoverRace::Client::PlayerStatusAnnouncement::status
private
std::shared_ptr<Player::Player> HoverRace::Client::PlayerStatusAnnouncement::subject
private

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