blob: e48cde81ccb12ea89c8855fe07cba69900924455 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
/* Starshatter: The Open Source Project
Copyright (c) 2021-2024, Starshatter: The Open Source Project Contributors
Copyright (c) 2011-2012, Starshatter OpenSource Distribution Contributors
Copyright (c) 1997-2006, Destroyer Studios LLC.
AUTHOR: John DiCamillo
OVERVIEW
========
CampaignMissionRequest
*/
#ifndef CampaignMissionRequest_h
#define CampaignMissionRequest_h
#include "Types.h"
#include "Geometry.h"
#include "List.h"
#include "Text.h"
// +--------------------------------------------------------------------+
class Campaign;
class CombatGroup;
class CombatUnit;
class CombatZone;
class Mission;
class MissionElement;
class MissionInfo;
// +--------------------------------------------------------------------+
class CampaignMissionRequest
{
public:
static const char* TYPENAME() { return "CampaignMissionRequest"; }
CampaignMissionRequest(Campaign* c, int type, int start,
CombatGroup* primary, CombatGroup* tgt=0);
Campaign* GetCampaign() { return campaign; }
int Type() { return type; }
int OpposingType() { return opp_type; }
int StartTime() { return start; }
CombatGroup* GetPrimaryGroup() { return primary_group; }
CombatGroup* GetSecondaryGroup() { return secondary_group; }
CombatGroup* GetObjective() { return objective; }
bool IsLocSpecified() { return use_loc; }
const Text& RegionName() { return region; }
Point Location() { return location; }
const Text& Script() { return script; }
void SetType(int t) { type = t; }
void SetOpposingType(int t) { opp_type = t; }
void SetStartTime(int s) { start = s; }
void SetPrimaryGroup(CombatGroup* g) { primary_group = g; }
void SetSecondaryGroup(CombatGroup* g) { secondary_group = g; }
void SetObjective(CombatGroup* g) { objective = g; }
void SetRegionName(const char* rgn) { region = rgn; use_loc = true; }
void SetLocation(const Point& loc) { location = loc; use_loc = true; }
void SetScript(const char* s) { script = s; }
private:
Campaign* campaign;
int type; // type of mission
int opp_type; // opposing mission type
int start; // start time
CombatGroup* primary_group; // player's group
CombatGroup* secondary_group; // optional support group
CombatGroup* objective; // target or ward
bool use_loc; // use the specified location
Text region;
Point location;
Text script;
};
#endif // CampaignMissionRequest_h
|