1 /*
2  * This file is part of liblcf. Copyright (c) 2020 liblcf authors.
3  * https://github.com/EasyRPG/liblcf - https://easyrpg.org
4  *
5  * liblcf is Free/Libre Open Source Software, released under the MIT License.
6  * For the full copyright and license information, please view the COPYING
7  * file that was distributed with this source code.
8  */
9 
10 #ifndef LCF_DATA_H
11 #define LCF_DATA_H
12 
13 #include <string>
14 #include <vector>
15 #include "lcf/rpg/actor.h"
16 #include "lcf/rpg/skill.h"
17 #include "lcf/rpg/item.h"
18 #include "lcf/rpg/enemy.h"
19 #include "lcf/rpg/troop.h"
20 #include "lcf/rpg/attribute.h"
21 #include "lcf/rpg/state.h"
22 #include "lcf/rpg/terrain.h"
23 #include "lcf/rpg/animation.h"
24 #include "lcf/rpg/chipset.h"
25 #include "lcf/rpg/terms.h"
26 #include "lcf/rpg/system.h"
27 #include "lcf/rpg/commonevent.h"
28 #include "lcf/rpg/class.h"
29 #include "lcf/rpg/battlecommand.h"
30 #include "lcf/rpg/battleranimation.h"
31 #include "lcf/rpg/sound.h"
32 #include "lcf/rpg/music.h"
33 #include "lcf/rpg/eventcommand.h"
34 #include "lcf/rpg/treemap.h"
35 #include "lcf/rpg/database.h"
36 
37 namespace lcf {
38 
39 /**
40  * Data namespace
41  */
42 namespace Data {
43 	/** Database Data (ldb) */
44 	extern rpg::Database data;
45 	/** @{ */
46 	extern std::vector<rpg::Actor>& actors;
47 	extern std::vector<rpg::Skill>& skills;
48 	extern std::vector<rpg::Item>& items;
49 	extern std::vector<rpg::Enemy>& enemies;
50 	extern std::vector<rpg::Troop>& troops;
51 	extern std::vector<rpg::Terrain>& terrains;
52 	extern std::vector<rpg::Attribute>& attributes;
53 	extern std::vector<rpg::State>& states;
54 	extern std::vector<rpg::Animation>& animations;
55 	extern std::vector<rpg::Chipset>& chipsets;
56 	extern std::vector<rpg::CommonEvent>& commonevents;
57 	extern rpg::BattleCommands& battlecommands;
58 	extern std::vector<rpg::Class>& classes;
59 	extern std::vector<rpg::BattlerAnimation>& battleranimations;
60 	extern rpg::Terms& terms;
61 	extern rpg::System& system;
62 	extern std::vector<rpg::Switch>& switches;
63 	extern std::vector<rpg::Variable>& variables;
64 	/** @} */
65 
66 	/** TreeMap (lmt) */
67 	extern rpg::TreeMap treemap;
68 
69 	/**
70 	 * Clears database data.
71 	 */
72 	void Clear();
73 }
74 
75 } //namespace lcf
76 
77 #endif
78