Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/intro/convoy.h')
-rw-r--r--src/game/intro/convoy.h51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/game/intro/convoy.h b/src/game/intro/convoy.h
new file mode 100644
index 0000000..8f8a64d
--- /dev/null
+++ b/src/game/intro/convoy.h
@@ -0,0 +1,51 @@
+/*
+ intro/convoy.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_INTRO_CONVOY_H__
+#define __INCLUDED_INTRO_CONVOY_H__
+
+#include <list>
+
+#include "core/core.h"
+#include "math/color.h"
+
+namespace intro {
+
+class Member : public core::EntityControlable
+{
+public:
+ Member(std::string const &model);
+ ~Member();
+
+ void frame(float seconds);
+};
+
+class Convoy
+{
+public:
+ Convoy(core::Zone *zone);
+ ~Convoy();
+
+ void add(const char *model);
+ void add(std::string const &model);
+
+ void frame(float seconds);
+
+ void set_color(math::Color const &color);
+ void set_color_second(math::Color const &color);
+
+private:
+ typedef std::list<Member *> Members;
+ Members convoy_members;
+ core::Zone *convoy_zone;
+ math::Color convoy_color;
+ math::Color convoy_color_second;
+};
+
+}
+
+#endif // __INCLUDED_INTRO_CONVOY_H__
+