Starshatter_Open
Open source Starshatter engine
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
CombatEvent.h
Go to the documentation of this file.
1 /* Project Starshatter 4.5
2  Destroyer Studios LLC
3  Copyright © 1997-2004. All Rights Reserved.
4 
5  SUBSYSTEM: Stars.exe
6  FILE: CombatEvent.h
7  AUTHOR: John DiCamillo
8 
9 
10  OVERVIEW
11  ========
12  A significant (newsworthy) event in the dynamic campaign.
13 */
14 
15 #ifndef CombatEvent_h
16 #define CombatEvent_h
17 
18 #include "Types.h"
19 #include "Geometry.h"
20 #include "Bitmap.h"
21 #include "Text.h"
22 #include "List.h"
23 
24 // +--------------------------------------------------------------------+
25 
26 class Campaign;
27 class CombatGroup;
28 class CombatUnit;
29 
30 // +--------------------------------------------------------------------+
31 
33 {
34 public:
35  static const char* TYPENAME() { return "CombatEvent"; }
36 
37  enum EVENT_TYPE {
43 
48  };
49 
50  enum EVENT_SOURCE {
56  };
57 
58  CombatEvent(Campaign* c, int type, int time, int team, int source, const char* rgn);
59 
60  int operator == (const CombatEvent& u) const { return this == &u; }
61 
62  // accessors/mutators:
63  int Type() const { return type; }
64  int Time() const { return time; }
65  int GetIFF() const { return team; }
66  int Points() const { return points; }
67  int Source() const { return source; }
68  Point Location() const { return loc; }
69  const char* Region() const { return region; }
70  const char* Title() const { return title; }
71  const char* Information() const { return info; }
72  const char* Filename() const { return file; }
73  const char* ImageFile() const { return image_file; }
74  const char* SceneFile() const { return scene_file; }
75  Bitmap& Image() { return image; }
76  const char* SourceName() const;
77  const char* TypeName() const;
78  bool Visited() const { return visited; }
79 
80  void SetType(int t) { type = t; }
81  void SetTime(int t) { time = t; }
82  void SetIFF(int t) { team = t; }
83  void SetPoints(int p) { points = p; }
84  void SetSource(int s) { source = s; }
85  void SetLocation(const Point& p) { loc = p; }
86  void SetRegion(Text rgn) { region = rgn; }
87  void SetTitle(Text t) { title = t; }
88  void SetInformation(Text t) { info = t; }
89  void SetFilename(Text f) { file = f; }
90  void SetImageFile(Text f) { image_file = f; }
91  void SetSceneFile(Text f) { scene_file = f; }
92  void SetVisited(bool v) { visited = v; }
93 
94  // operations:
95  void Load();
96 
97  // utilities:
98  static int TypeFromName(const char* n);
99  static int SourceFromName(const char* n);
100  static const char* TypeName(int n);
101  static const char* SourceName(int n);
102 
103 private:
104  Campaign* campaign;
105  int type;
106  int time;
107  int team;
108  int points;
109  int source;
110  bool visited;
111  Point loc;
112  Text region;
113  Text title;
114  Text info;
115  Text file;
116  Text image_file;
117  Text scene_file;
118  Bitmap image;
119 };
120 
121 #endif CombatEvent_h
122