Eris
1.3.21
|
Lobby is the Out-of-Game session object, valid from connection to the server until disconnection. More...
#include <Lobby.h>
Public Member Functions | |
Lobby (Account *acc) | |
Create a Lobby for the specified account, and retrive the initial OOG structure if the Account is logged in and connected. | |
virtual | ~Lobby () |
Delete the Lobby, including all it's Rooms and Persons. | |
Room * | join (const std::string &roomID) |
Join the specified room, or return NULL if an error occurs. | |
Person * | getPerson (const std::string &acc) |
obtain a person's info, given their account ID; may return NULL | |
Room * | getRoom (const std::string &id) |
Obtain a Room object, given the rooms' id. | |
Account * | getAccount () const |
Retrive the Account which this lobbby is bound to. | |
Connection * | getConnection () const |
Helper method to access the underlying Connection from the Account. | |
Public Attributes | |
sigc::signal< void, Person * > | SightPerson |
Emitted when sight of a person is received. | |
sigc::signal< void, Person *, const std::string & > | PrivateTalk |
Emitted when some person sends a private (one-to-one) chat message to the client's account. | |
Protected Member Functions | |
void | look (const std::string &id) |
void | sightPerson (const Atlas::Objects::Entity::Account &ac) |
Router::RouterResult | recvTalk (const Atlas::Objects::Operation::Talk &tk) |
void | recvInitialSight (const Atlas::Objects::Entity::RootEntity &ent) |
void | recvAppearance (const Atlas::Objects::Root &obj) |
void | recvDisappearance (const Atlas::Objects::Root &obj) |
Router::RouterResult | recvImaginary (const Atlas::Objects::Operation::Imaginary &im) |
Friends | |
class | Room |
class | OOGRouter |
Lobby is the Out-of-Game session object, valid from connection to the server until disconnection.
It manages the entire OOG structure, which consists of rooms and people. People can be in more than one room (this is the big difference to in-game). Note the entire OOG system remains live and valid even when an Avatar is active, it's up to the client to present some UI for accessing the OOG system if it wants.
Of course, nothing requries to create a Lobby at all, Account and the in-game structure will work perfectly well without one.
Eris::Lobby::Lobby | ( | Account * | acc | ) |
Create a Lobby for the specified account, and retrive the initial OOG structure if the Account is logged in and connected.
References Eris::Account::isLoggedIn(), Eris::Account::LoginSuccess, and Eris::Account::LogoutComplete.
Eris::Lobby::~Lobby | ( | ) | [virtual] |
Delete the Lobby, including all it's Rooms and Persons.
Room * Eris::Lobby::getRoom | ( | const std::string & | id | ) |
Obtain a Room object, given the rooms' id.
This will return NULL if the id is invalid.
Room * Eris::Lobby::join | ( | const std::string & | roomID | ) |
Join the specified room, or return NULL if an error occurs.
Note the Room will not be valid until it emits the Entered signal.
References getConnection(), Eris::Account::getId(), Eris::Account::isLoggedIn(), and Eris::Connection::send().
sigc::signal<void, Person*, const std::string&> Eris::Lobby::PrivateTalk |
Emitted when some person sends a private (one-to-one) chat message to the client's account.
The first argument is the sender, which will always be a valid Person object, and the second is the message text.