Vegastrike 0.5.1 rc1  1.0
Original sources for Vegastrike Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
briefing.h
Go to the documentation of this file.
1 #include "gfx/matrix.h"
2 #include "gfx/camera.h"
3 #include "gfx/hud.h"
4 #include <list>
5 #include <vector>
6 using std::list;
7 using std::vector;
9 {
10 public:
12  float speed;
13  BriefingOrder( const Vector &v, const float s ) : vec( v )
14  {
15  speed = s;
16  }
17 };
18 
19 class Briefing
20 {
21 public:
22 //Very reduced unit class
23  class Ship
24  {
25  std::vector< class Mesh* >meshdata;
26  Vector pos;
27  std::list< BriefingOrder >orders;
28 public: ~Ship();
29  void Destroy();
30  bool LoadFailed()
31  {
32  return meshdata.empty();
33  }
35  {
36  return pos;
37  } //return Vector (mat[12],mat[13],mat[14]);}
38  void SetPosition( const Vector &pos )
39  {
40  this->pos = pos;
41  } //mat[12]=pos.i;mat[13]=pos.j;mat[14]=pos.k;}
42  float cloak; //btw 0 and 1
43  Ship( const char *filename, int faction, const Vector &position );
44  void Render( const Matrix &cam, double interpol );
45  void Update();
46  void OverrideOrder( const Vector &destination, float time );
47  void EnqueueOrder( const Vector &destination, float time );
48  };
51  vector< Ship* >starships;
52  void Render();
53  void Update();
54 //-1 returns file not found
55  int AddStarship( const char *filename, int faction, const Vector& );
56  void RemoveStarship( int );
57  void EnqueueOrder( int, const Vector &destination, float time );
58  void OverrideOrder( int, const Vector &destination, float time );
59  void SetPosition( int, const Vector &Position );
60  Vector GetPosition( int );
61  void SetCloak( int, float );
62  Briefing();
63  ~Briefing();
64 };
65