D'angband  0.0.0
Deeangband
 全て クラス 名前空間 ファイル 関数 変数 型定義 列挙型 列挙値 フレンド マクロ定義 ページ
GameWorld.h
[詳解]
1 
9 #pragma once
10 
11 #include "stdafx.h"
12 #include "Deeangband.h"
13 
14 #include "Air.h"
15 #include "Ability.h"
16 #include "Authority.h"
17 #include "Building.h"
18 #include "Camp.h"
19 #include "Creature.h"
20 #include "CreatureTrait.h"
21 #include "Dungeon.h"
22 #include "Effect.h"
23 #include "Floor.h"
24 #include "FixedArtifact.h"
25 #include "ItemBase.h"
26 #include "ItemEgo.h"
27 #include "ItemTrait.h"
28 #include "Karma.h"
29 #include "Quest.h"
30 #include "Race.h"
31 #include "Space.h"
32 #include "Skill.h"
33 #include "Species.h"
34 #include "StartingClass.h"
35 #include "TrapBase.h"
36 
37 #include "Item.h"
38 #include "Creature.h"
39 #include "Field.h"
40 #include "Trap.h"
41 
42 BOOST_CLASS_VERSION(GameWorld, 1);
43 
44 namespace Deeangband
45 {
46 
51  class GameWorld
52  {
53  private:
54 
55  //静的データリスト
56  std::map<TAG, boost::shared_ptr<Air>> airList;
57  std::map<TAG, boost::shared_ptr<Ability>> abilityList;
58  std::map<TAG, boost::shared_ptr<Authority>> authorityList;
59  std::map<TAG, boost::shared_ptr<Building>> buildingList;
60  std::map<TAG, boost::shared_ptr<Camp>> campList;
61  std::map<TAG, boost::shared_ptr<CreatureTrait>> creatureTraitList;
62  std::map<TAG, boost::shared_ptr<Dungeon>> dungeonList;
63  std::map<TAG, boost::shared_ptr<Effect>> effectList;
64  std::map<TAG, boost::shared_ptr<Floor>> floorList;
65  std::map<TAG, boost::shared_ptr<FixedArtifact>> fixedArtifactList;
66  std::map<TAG, boost::shared_ptr<ItemBase>> itemBaseList;
67  std::map<TAG, boost::shared_ptr<ItemEgo>> itemEgoList;
68  std::map<TAG, boost::shared_ptr<ItemTrait>> itemTraitList;
69  std::map<TAG, boost::shared_ptr<Karma>> karmaList;
70  std::map<TAG, boost::shared_ptr<Quest>> questList;
71  std::map<TAG, boost::shared_ptr<Space>> spaceList;
72  std::map<TAG, boost::shared_ptr<Skill>> skillList;
73  std::map<TAG, boost::shared_ptr<Species>> speciesList;
74  std::map<TAG, boost::shared_ptr<StartingClass>> startingClassList;
75  std::map<TAG, boost::shared_ptr<Race>> raceList;
76  std::map<TAG, boost::shared_ptr<TrapBase>> trapBaseList;
78  //動的データリスト
79  std::map<ID, boost::shared_ptr<Item>> itemList;
80  std::map<ID, boost::shared_ptr<Creature>> creatureList;
81  std::map<ID, boost::shared_ptr<Field>> fieldList;
82  std::map<ID, boost::shared_ptr<Trap>> trapList;
88 
89  std::vector<boost::shared_ptr<HaveGameTime>> actionList;
93 
95 
101  bool GameWorld::xmlSaveAir(void);
102 
108  bool GameWorld::xmlSaveAbility(void);
109 
115  bool GameWorld::xmlSaveAuthority(void);
116 
122  bool GameWorld::xmlSaveBuilding(void);
123 
129  bool GameWorld::xmlSaveCamp(void);
130 
137 
143  bool GameWorld::xmlSaveDungeon(void);
144 
150  bool GameWorld::xmlSaveEffect(void);
151 
157  bool GameWorld::xmlSaveFloor(void);
158 
165 
171  bool GameWorld::xmlSaveItemBase(void);
172 
178  bool GameWorld::xmlSaveItemEgo(void);
179 
185  bool GameWorld::xmlSaveItemTrait(void);
186 
192  bool GameWorld::xmlSaveKarma(void);
193 
199  bool GameWorld::xmlSaveQuest(void);
200 
206  bool GameWorld::xmlSaveRace(void);
207 
213  bool GameWorld::xmlSaveSkill(void);
214 
220  bool GameWorld::xmlSaveSpace(void);
221 
227  bool GameWorld::xmlSaveSpecie(void);
228 
235 
241  bool GameWorld::xmlSaveTrapBase(void);
242 
243  bool GameWorld::xmlLoadAir(void);
244  bool GameWorld::xmlLoadAbility(void);
245  bool GameWorld::xmlLoadAuthority(void);
246  bool GameWorld::xmlLoadBuilding(void);
247  bool GameWorld::xmlLoadCamp(void);
249  bool GameWorld::xmlLoadDungeon(void);
250  bool GameWorld::xmlLoadEffect(void);
251  bool GameWorld::xmlLoadFloor(void);
253  bool GameWorld::xmlLoadItemBase(void);
254  bool GameWorld::xmlLoadItemEgo(void);
255  bool GameWorld::xmlLoadItemTrait(void);
256  bool GameWorld::xmlLoadKarma(void);
257  bool GameWorld::xmlLoadQuest(void);
258  bool GameWorld::xmlLoadRace(void);
259  bool GameWorld::xmlLoadSpace(void);
260  bool GameWorld::xmlLoadSkill(void);
261  bool GameWorld::xmlLoadSpecie(void);
263  bool GameWorld::xmlLoadTrapBase(void);
264 
271  template<class Archive> void serialize(Archive &archive, const unsigned int version)
272  {
273  if(version >= 0)
274  {
275  archive & boost::serialization::make_nvp("Authorities", authorityList);
276  archive & boost::serialization::make_nvp("Buildings", buildingList);
277  archive & boost::serialization::make_nvp("Camps", campList);
278  archive & boost::serialization::make_nvp("Dungeons", dungeonList);
279  archive & boost::serialization::make_nvp("Effects", effectList);
280  archive & boost::serialization::make_nvp("Floors", floorList);
281  archive & boost::serialization::make_nvp("FixedArtifacts", fixedArtifactList);
282  archive & boost::serialization::make_nvp("ItemBases", itemBaseList);
283  archive & boost::serialization::make_nvp("ItemEgos", itemEgoList);
284  archive & boost::serialization::make_nvp("ItemTraits", itemTraitList);
285  archive & boost::serialization::make_nvp("Karmas", karmaList);
286  archive & boost::serialization::make_nvp("Quests", questList);
287  archive & boost::serialization::make_nvp("Skills", skillList);
288  archive & boost::serialization::make_nvp("Species", speciesList);
289  archive & boost::serialization::make_nvp("TrapBases", trapBaseList);
290 
291  archive & boost::serialization::make_nvp("Authorities", authorityList);
292  archive & boost::serialization::make_nvp("Creatures", creatureList);
293  archive & boost::serialization::make_nvp("Items", itemList);
294  archive & boost::serialization::make_nvp("Fields", fieldList);
295  archive & boost::serialization::make_nvp("Traps", trapList);
296  }
297  }
298 
299  public:
300 
305  GameWorld::GameWorld(void);
306 
310  GameWorld::‾GameWorld(void);
311 
317  bool GameWorld::GenerateCreature(TAG creatureTag);
318 
327  bool GameWorld::GenerateCreature(TAG creatureTag, ID fieldID, int x, int y);
328 
334  Authority *GameWorld::GetAuthority(TAG tag);
335 
341  CreatureTrait *GameWorld::GetCreatureTrait(TAG tag);
342 
348  Effect *GameWorld::GetEffect(TAG tag);
349 
355  FixedArtifact *GameWorld::GetFixedArtifact(TAG tag);
356 
362  Floor *GameWorld::GetFloor(TAG tag);
363 
369  ItemBase *GameWorld::GetItemBase(TAG tag);
370 
376  ItemEgo *GameWorld::GetItemEgo(TAG tag);
377 
383  ItemTrait *GameWorld::GetItemTrait(TAG tag);
384 
390  Karma *GameWorld::GetKarma(TAG tag);
391 
397  Skill *GameWorld::GetSkill(TAG tag);
398 
404  Species *GameWorld::GetSpecies(TAG tag);
405 
411  TrapBase *GameWorld::GetTrapBase(TAG tag);
412 
418  Building *GameWorld::GetBuilding(TAG tag);
419 
425  Camp *GameWorld::GetCamp(TAG tag);
426 
432  Dungeon *GameWorld::GetDungeon(TAG tag);
433 
439  Item *GameWorld::GetItem(ID id);
440 
446  Field *GameWorld::GetField(ID id);
447 
453  Creature *GameWorld::GetCreature(ID id);
454 
459  std::map<TAG, boost::shared_ptr<Ability>> *GameWorld::GetAbilityList(void);
460 
465  std::map<ID, boost::shared_ptr<Creature>> *GameWorld::GetCreatureList(void);
466 
472  Quest *GameWorld::GetQuest(TAG tag);
473 
478  GAME_TIME GameWorld::GetGameTime(void);
479 
484  bool GameWorld::XMLSave(void);
485 
490  void GameWorld::XMLLoad(void);
491 
496  void GameWorld::WipeCreature(ID id);
497 
502  Creature *GameWorld::GetPlayerCreature(void);
503 
508  std::vector<boost::shared_ptr<HaveGameTime>>* GetActionList(void);
509 
510  };
511 
512 }
ID trapID
空きトラップID
Definition: GameWorld.h:87
std::map< TAG, boost::shared_ptr< Floor > > floorList
Definition: GameWorld.h:64
std::map< TAG, boost::shared_ptr< Dungeon > > dungeonList
Definition: GameWorld.h:62
効果属性のクラス
Definition: Effect.h:63
GAME_TIME gameTime
ゲーム時間
Definition: GameWorld.h:92
bool GameWorld::xmlLoadFixedArtifact(void)
bool GameWorld::xmlSaveDungeon(void)
ダンジョン情報のセーブ
アイテムベースのクラス
Definition: ItemBase.h:38
施設のクラス
Definition: Building.h:22
ゲーム中のクリーチャー特性のプロトタイプ
bool GameWorld::xmlLoadFloor(void)
std::map< TAG, boost::shared_ptr< Skill > > skillList
Definition: GameWorld.h:72
int ID
ゲーム要素ID
Definition: Deeangband.h:143
ゲーム中のアイテムと付随要素のプロトタイプ
std::map< TAG, boost::shared_ptr< Quest > > questList
Definition: GameWorld.h:70
ゲーム中の固定アーティファクトのプロトタイプ
std::string TAG
ゲーム要素文字列ID
Definition: Deeangband.h:144
bool GameWorld::xmlSaveTrapBase(void)
ベーストラップ情報のセーブ
フロアのクラス
Definition: Field.h:30
ゲーム中のダンジョンと付随要素のプロトタイプ
bool GameWorld::xmlSaveAir(void)
大気地形情報のセーブ
bool GameWorld::xmlLoadTrapBase(void)
friend class boost::serialization::access
Definition: GameWorld.h:94
std::map< TAG, boost::shared_ptr< TrapBase > > trapBaseList
Definition: GameWorld.h:76
bool GameWorld::xmlLoadQuest(void)
bool GameWorld::xmlLoadBuilding(void)
ゲーム中のトラップのプロトタイプ
bool GameWorld::xmlLoadCreatureTrait(void)
std::map< TAG, boost::shared_ptr< Space > > spaceList
Definition: GameWorld.h:71
ゲーム世界のクラス
Definition: GameWorld.h:51
カルマのクラス
Definition: Karma.h:72
std::map< TAG, boost::shared_ptr< Karma > > karmaList
Definition: GameWorld.h:69
bool GameWorld::xmlSaveBuilding(void)
施設情報のセーブ
ゲーム中のクリーチャーと付随要素のプロトタイプ
bool GameWorld::xmlLoadCamp(void)
固定アーティファクトのクラス
Definition: FixedArtifact.h:23
void serialize(Archive &archive, const unsigned int version)
クラスのシリアライズを設定する
Definition: GameWorld.h:271
std::map< ID, boost::shared_ptr< Item > > itemList
Definition: GameWorld.h:79
std::map< TAG, boost::shared_ptr< Species > > speciesList
Definition: GameWorld.h:73
bool GameWorld::xmlLoadItemTrait(void)
BOOST_CLASS_VERSION(GameWorld, 1)
ダンジョンのクラス
Definition: Dungeon.h:58
bool GameWorld::xmlSaveKarma(void)
カルマ情報のセーブ
bool GameWorld::xmlLoadStartingClass(void)
ゲーム中の空間地形情報のプロトタイプ
std::vector< boost::shared_ptr< HaveGameTime > > actionList
Definition: GameWorld.h:89
std::map< TAG, boost::shared_ptr< CreatureTrait > > creatureTraitList
Definition: GameWorld.h:61
std::map< TAG, boost::shared_ptr< Ability > > abilityList
Definition: GameWorld.h:57
int GAME_TIME
ゲーム時間
Definition: Deeangband.h:157
std::map< TAG, boost::shared_ptr< FixedArtifact > > fixedArtifactList
Definition: GameWorld.h:65
bool GameWorld::xmlLoadItemEgo(void)
bool GameWorld::xmlLoadAbility(void)
標準のシステム インクルード ファイルのインクルード ファイル、または 参照回数が多く、かつあまり変更さ...
bool GameWorld::xmlSaveEffect(void)
効果属性情報のセーブ
std::map< TAG, boost::shared_ptr< Race > > raceList
Definition: GameWorld.h:75
bool GameWorld::xmlSaveAbility(void)
発動技能のセーブ
ゲーム中のスキルのプロトタイプ
std::map< TAG, boost::shared_ptr< Building > > buildingList
Definition: GameWorld.h:59
Creature * playerPtr
プレイヤークリーチャー参照ポインタ
Definition: GameWorld.h:91
std::map< TAG, boost::shared_ptr< Authority > > authorityList
Definition: GameWorld.h:58
bool GameWorld::xmlLoadSpace(void)
ID itemID
空きアイテムID
Definition: GameWorld.h:84
bool GameWorld::xmlSaveSpace(void)
空間地形情報のセーブ
std::map< TAG, boost::shared_ptr< Camp > > campList
Definition: GameWorld.h:60
アイテム特性のクラス
Definition: ItemTrait.h:19
ID creatureID
空きクリーチャーID
Definition: GameWorld.h:85
bool GameWorld::xmlSaveCamp(void)
陣営情報のセーブ
発動技能のプロトタイプ
bool GameWorld::xmlLoadEffect(void)
std::map< ID, boost::shared_ptr< Creature > > creatureList
Definition: GameWorld.h:80
bool GameWorld::xmlSaveQuest(void)
クエスト情報のセーブ
陣営のクラス
Definition: Camp.h:30
ゲーム中のトラップベースのプロトタイプ
bool GameWorld::xmlLoadRace(void)
ゲーム中のクリーチャー種別のプロトタイプ
ゲーム中のダンジョンと付随要素のプロトタイプ
トラップベースのクラス
Definition: TrapBase.h:33
ゲーム中の職業情報のプロトタイプ
std::map< TAG, boost::shared_ptr< StartingClass > > startingClassList
Definition: GameWorld.h:74
std::map< ID, boost::shared_ptr< Trap > > trapList
Definition: GameWorld.h:82
bool GameWorld::xmlSaveAuthority(void)
権能情報のセーブ
std::map< TAG, boost::shared_ptr< Effect > > effectList
Definition: GameWorld.h:63
地形情報のクラス
Definition: Floor.h:24
権能のクラス
Definition: Authority.h:22
クエストのプロトタイプ
権能のプロトタイプ宣言
bool GameWorld::xmlSaveFloor(void)
地形情報のセーブ
ゲーム中のアイテム特性のプロトタイプ定義
ゲーム中のアイテムベースのプロトタイプ
std::map< TAG, boost::shared_ptr< ItemTrait > > itemTraitList
Definition: GameWorld.h:68
bool GameWorld::xmlLoadAuthority(void)
ゲーム中の種族情報のプロトタイプ
bool GameWorld::xmlLoadSkill(void)
bool GameWorld::xmlSaveItemTrait(void)
アイテム特性情報のセーブ
bool GameWorld::xmlSaveCreatureTrait(void)
クリーチャー特性のセーブ
bool GameWorld::xmlSaveSkill(void)
スキル情報のセーブ
std::map< TAG, boost::shared_ptr< ItemEgo > > itemEgoList
Definition: GameWorld.h:67
カルマのプロトタイプ宣言
bool GameWorld::xmlSaveSpecie(void)
クリーチャー種別情報のセーブ
アイテムエゴのクラス
Definition: ItemEgo.h:36
ゲーム中の大気地形情報のプロトタイプ
効果属性のプロトタイプ宣言
std::map< ID, boost::shared_ptr< Field > > fieldList
Definition: GameWorld.h:81
std::map< TAG, boost::shared_ptr< Air > > airList
Definition: GameWorld.h:56
ゲーム中のアイテムエゴのプロトタイプ
クエストのクラス
Definition: Quest.h:21
bool GameWorld::xmlSaveStartingClass(void)
出自情報のセーブ
クリーチャー特性のクラス
Definition: CreatureTrait.h:28
bool GameWorld::xmlLoadAir(void)
bool GameWorld::xmlSaveItemEgo(void)
アイテムエゴ情報のセーブ
bool GameWorld::xmlLoadSpecie(void)
bool GameWorld::xmlLoadItemBase(void)
bool GameWorld::xmlLoadKarma(void)
クリーチャー種別のクラス
Definition: Species.h:24
std::map< TAG, boost::shared_ptr< ItemBase > > itemBaseList
Definition: GameWorld.h:66
ゲーム中の陣営と付随要素のプロトタイプ
アイテムのクラス
Definition: Item.h:33
クリーチャーのクラス
Definition: Creature.h:68
std::vector< boost::shared_ptr< HaveGameTime > > * GetActionList(void)
行動順リストを返す
Definition: GameWorld.cpp:636
bool GameWorld::xmlSaveFixedArtifact(void)
固定アーティファクト情報のセーブ
施設のプロトタイプ宣言
bool GameWorld::xmlSaveRace(void)
クエスト情報のセーブ
ゲーム中の床地形情報のプロトタイプ
bool GameWorld::xmlSaveItemBase(void)
ベースアイテム情報のセーブ
bool GameWorld::xmlLoadDungeon(void)
ID fieldID
空きフィールドID
Definition: GameWorld.h:86
スキルのクラス
Definition: Skill.h:25