From 35613f0860a2d8cb643ca8de006de08503e48e53 Mon Sep 17 00:00:00 2001 From: Stijn Buys Date: Sat, 18 Oct 2008 17:58:45 +0000 Subject: example module --- src/game/example/example.h | 65 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 src/game/example/example.h (limited to 'src/game/example/example.h') diff --git a/src/game/example/example.h b/src/game/example/example.h new file mode 100644 index 0000000..ba8aa72 --- /dev/null +++ b/src/game/example/example.h @@ -0,0 +1,65 @@ +/* + 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 + ~Example(); + + /// called once every server frame + /** @param elapsed time elapsed since the precious server frame, in seconds + */ + void frame(float elapsed); + + /// called when a player connects + void player_connect(core::Player *player); + + /// called when a player disconnects + void player_disconnect(core::Player *player); + +protected: + /// called when the game starts + void init(); + + /// called when the game is shut down + void shutdown(); + + +private: + core::Zone *zone; +}; + +} + +#endif // __INCLUDED_EXAMPLE_H__ + -- cgit v1.2.3