/* intro/example.h This file is part of the Osirion project and is distributed under the terms of the GNU General Public License version 2 */ #ifndef __INCLUDED_EXAMPLE_H__ #define __INCLUDED_EXAMPLE_H__ // import core functionality #include "core/core.h" // console functions #include "sys/sys.h" /// example game module /** This is the osirion Project example module. It describes * how to create custom modules and how to use the engine functionality. */ namespace example { /// example game module /** Every game module derives from core::Module and has to implement a * number of virtual functions */ class Example : public core::Module { public: /// constructor, called on module load /** Modules are loaded at the start of the program, * the constructor is only called once. */ Example(); /// desctructor, called on module unload virtual ~Example(); /// called once every server frame /** @param elapsed time elapsed since the precious server frame, in seconds */ virtual void frame(float elapsed); /// called when a player connects virtual void player_connect(core::Player *player); /// called when a player disconnects virtual void player_disconnect(core::Player *player); private: core::Zone *zone; }; /// factory function core::Module *factory(); } #endif // __INCLUDED_EXAMPLE_H__