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>2011-05-05 18:08:45 +0000
committerStijn Buys <ingar@osirion.org>2011-05-05 18:08:45 +0000
commit1687737ca713cd0baeca3cf79950ef4877640c99 (patch)
treef6cfd31c850cec95da491036f1dd772397128549 /src/core/signals.h
parent09d68d3d1d77d45343e3562c0b5e0cd6816d47d3 (diff)
Initial support for btCompoundShape and the infrastructure required to accomodate multiple meshes per collision model,
added prototype files for signals
Diffstat (limited to 'src/core/signals.h')
-rw-r--r--src/core/signals.h51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/core/signals.h b/src/core/signals.h
new file mode 100644
index 0000000..88841ea
--- /dev/null
+++ b/src/core/signals.h
@@ -0,0 +1,51 @@
+/*
+ core/signals.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_CORE_SIGNALS_H__
+#define __INCLUDED_CORE_SIGNALS_H__
+
+#include <list>
+
+#include "core/player.h"
+
+namespace core
+{
+
+/**
+ * @brief a signal is a confirmation request from one player to another.
+ */
+class Signal {
+public:
+ /// signal types
+ enum Signals {Trade = 1, Dock = 2, Chat = 3};
+
+ /// current state of a signal
+ enum State {Rejected = 0, Accepted = 1, Pending = 2};
+
+
+ /// type definition for the signal registry
+ typedef std::list<Signal*> Registry;
+
+ static void send(Player *sender, Player *receiver, Signals signal);
+
+ static void init();
+
+ static void done();
+
+ static void clear();
+
+private:
+ Signals signal_type;
+ State signal_state;
+ unsigned long signal_timestamp;
+
+ static Registry signal_registry;
+};
+
+}
+
+#endif // __INCLUDED_CORE_SIGNALS_H__
+