OpenXcom  1.0
Open-source clone of the original X-Com
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Region.h
1 /*
2  * Copyright 2010-2014 OpenXcom Developers.
3  *
4  * This file is part of OpenXcom.
5  *
6  * OpenXcom is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation, either version 3 of the License, or
9  * (at your option) any later version.
10  *
11  * OpenXcom is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with OpenXcom. If not, see <http://www.gnu.org/licenses/>.
18  */
19 #ifndef OPENXCOM_REGION_H
20 #define OPENXCOM_REGION_H
21 
22 #include <vector>
23 #include <yaml-cpp/yaml.h>
24 
25 namespace OpenXcom
26 {
27 
28 class RuleRegion;
29 
35 class Region
36 {
37 private:
38  RuleRegion *_rules;
39  std::vector<int> _activityXcom, _activityAlien;
40 public:
42  Region(RuleRegion *rules);
44  ~Region();
46  void load(const YAML::Node& node);
48  YAML::Node save() const;
50  RuleRegion *getRules() const;
52  void addActivityXcom(int activity);
54  void addActivityAlien(int activity);
56  const std::vector<int> &getActivityXcom() const;
58  const std::vector<int> &getActivityAlien() const;
60  void newMonth();
61 };
62 
63 }
64 
65 #endif
const std::vector< int > & getActivityXcom() const
get xcom activity to this region
Definition: Region.cpp:96
void newMonth()
start new month of activity
Definition: Region.cpp:113
void addActivityAlien(int activity)
add alien activity in this region
Definition: Region.cpp:87
void addActivityXcom(int activity)
add xcom activity in this region
Definition: Region.cpp:78
void load(const YAML::Node &node)
Loads the region from YAML.
Definition: Region.cpp:46
Region(RuleRegion *rules)
Creates a new region of the specified type.
Definition: Region.cpp:29
Represents a region of the world.
Definition: Region.h:35
const std::vector< int > & getActivityAlien() const
get xcom activity to this region
Definition: Region.cpp:105
YAML::Node save() const
Saves the region to YAML.
Definition: Region.cpp:56
Represents a specific region of the world.
Definition: RuleRegion.h:65
~Region()
Cleans up the region.
Definition: Region.cpp:38
RuleRegion * getRules() const
Gets the region's ruleset.
Definition: Region.cpp:69