Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStijn Buys <ingar@osirion.org>2008-10-18 17:58:45 +0000
committerStijn Buys <ingar@osirion.org>2008-10-18 17:58:45 +0000
commit35613f0860a2d8cb643ca8de006de08503e48e53 (patch)
tree8a5436de643e818e68a82df2e5cb2df2145f5062 /src/game/example/example.h
parentdb287e4a5133125bb6f25ba21ea97c47b19ac67f (diff)
example module
Diffstat (limited to 'src/game/example/example.h')
-rw-r--r--src/game/example/example.h65
1 files changed, 65 insertions, 0 deletions
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__
+