Game::GameServer Class Reference
#include <gameserver.h>
Detailed Description
The game server setups and runs the game world, consisting of a number of active "game entities". Functionality and queries on the game world are divided amongst several Game Features. This keeps the game server's interface small and clean, and lets Mangalore applications easily extend functionality by implementing new, or deriving from existing game features.To add or replace FeatureUnit objects, derive from Game::FeatureUnit and add your features on application start or gamestatehandler enter.
The GameServer triggers all attached features. Start and Stop is called within the gamestatehandler to allow all features do stuff after everything is loaded and initialized. Load and Save is invoked from the BaseGameFeature which allows begining a new game, load or save a game.
(C) 2007 RadonLabs GmbH
Public Member Functions | |
GameServer () | |
constructor | |
virtual | ~GameServer () |
destructor | |
virtual bool | Open () |
open the game world | |
virtual void | Close () |
close the game world | |
virtual bool | Start () |
start the game world | |
bool | HasStarted () const |
has the game world already started | |
virtual void | Stop () |
stop the game world | |
virtual void | OnFrame () |
trigger the game world | |
virtual void | NotifyGameLoad () |
call OnLoad on all game features | |
virtual void | NotifyGameSave () |
call OnSave on all game features | |
void | AttachGameFeature (const Ptr< FeatureUnit > &feature) |
add game feature | |
void | RemoveGameFeature (const Ptr< FeatureUnit > &feature) |
remove game feature | |
bool | IsQuitRequested () const |
is quit requested | |
void | RequestQuit () |
request quit | |
int | GetRefCount () const |
get the current refcount | |
void | AddRef () |
increment refcount by one | |
void | Release () |
decrement refcount and destroy object if refcount is zero | |
bool | IsInstanceOf (const Rtti &rtti) const |
return true if this object is instance of given class | |
bool | IsInstanceOf (const Util::String &className) const |
return true if this object is instance of given class by string | |
bool | IsInstanceOf (const Util::FourCC &classFourCC) const |
return true if this object is instance of given class by fourcc | |
bool | IsA (const Rtti &rtti) const |
return true if this object is instance of given class, or a derived class | |
bool | IsA (const Util::String &rttiName) const |
return true if this object is instance of given class, or a derived class, by string | |
bool | IsA (const Util::FourCC &rttiFourCC) const |
return true if this object is instance of given class, or a derived class, by fourcc | |
const Util::String & | GetClassName () const |
get the class name | |
Util::FourCC | GetClassFourCC () const |
get the class FourCC code | |
Static Public Member Functions | |
static void | DumpRefCountingLeaks () |
dump refcounting leaks, call at end of application (NEBULA3_DEBUG builds only!) | |
Protected Member Functions | |
void | RenderDebug () |
render a debug visualization |
Member Function Documentation
bool Game::GameServer::Open | ( | ) | [virtual] |
open the game world
Initialize the game server object. This will create and initialize all subsystems.
void Game::GameServer::Close | ( | ) | [virtual] |
close the game world
Close the game server object.
bool Game::GameServer::Start | ( | ) | [virtual] |
start the game world
Start the game world, called after loading has completed.
void Game::GameServer::Stop | ( | ) | [virtual] |
stop the game world
Stop the game world, called before the world(current level) is cleaned up.
void Game::GameServer::OnFrame | ( | ) | [virtual] |
trigger the game world
Trigger the game server. If your application introduces new or different manager objects, you may also want to override the Game::GameServer::Trigger() method if those gameFeatures need per-frame callbacks.
int Core::RefCounted::GetRefCount | ( | ) | const [inline, inherited] |
get the current refcount
Return the current refcount of the object.
void Core::RefCounted::AddRef | ( | ) | [inline, inherited] |
increment refcount by one
Increment the refcount of the object.
void Core::RefCounted::Release | ( | ) | [inline, inherited] |
decrement refcount and destroy object if refcount is zero
Decrement the refcount and destroy object if refcount is zero.
const Util::String & Core::RefCounted::GetClassName | ( | ) | const [inline, inherited] |
get the class name
Get the class name of the object.
Util::FourCC Core::RefCounted::GetClassFourCC | ( | ) | const [inline, inherited] |
get the class FourCC code
Get the class FourCC of the object.
void Core::RefCounted::DumpRefCountingLeaks | ( | ) | [static, inherited] |
dump refcounting leaks, call at end of application (NEBULA3_DEBUG builds only!)
This method should be called as the very last before an application exits.