3 * @brief
\83Q
\81[
\83\80\90¢
\8aE
\82Ì
\83v
\83\8d\83g
\83^
\83C
\83v
\90é
\8c¾
6 * 2013-2014 Sikabane Works.
12 #include "Deeangband.h"
16 #include "Authority.h"
20 #include "CreatureTrait.h"
24 #include "FixedArtifact.h"
25 #include "GameMessage.h"
28 #include "ItemTrait.h"
36 #include "StartingClass.h"
44 BOOST_CLASS_VERSION(GameWorld, 1);
48 #include "EngineTypedef.h"
52 * @brief
\83Q
\81[
\83\80\90¢
\8aE
\82Ì
\83N
\83\89\83X
58 //
\90Ã
\93I
\83f
\81[
\83^
\83\8a\83X
\83g
59 std::map<TAG, boost::shared_ptr<Air>> airList; /*!<
\91S
\91å
\8bC
\92n
\8c`
\83\8a\83X
\83g*/
60 std::map<TAG, boost::shared_ptr<Ability>> abilityList; /*!<
\91S
\94
\93®
\8bZ
\94\
\83\8a\83X
\83g*/
61 std::map<TAG, boost::shared_ptr<Authority>> authorityList; /*!<
\91S
\8c \94\
\83\8a\83X
\83g*/
62 std::map<TAG, boost::shared_ptr<Building>> buildingList; /*!<
\91S
\8e{
\90Ý
\83\8a\83X
\83g*/
63 std::map<TAG, boost::shared_ptr<Camp>> campList; /*!<
\91S
\90w
\89c
\83\8a\83X
\83g*/
64 std::map<TAG, boost::shared_ptr<CreatureTrait>> creatureTraitList; /*!<
\91S
\83N
\83\8a\81[
\83`
\83\83\81[
\93Á
\90«
\83\8a\83X
\83g*/
65 std::map<TAG, boost::shared_ptr<Dungeon>> dungeonList; /*!<
\91S
\83_
\83\93\83W
\83\87\83\93\83\8a\83X
\83g*/
66 std::map<TAG, boost::shared_ptr<Effect>> effectList; /*!<
\91S
\8cø
\89Ê
\91®
\90«
\83\8a\83X
\83g*/
67 std::map<TAG, boost::shared_ptr<Floor>> floorList; /*!<
\91S
\8f°
\92n
\8c`
\83\8a\83X
\83g*/
68 std::map<TAG, boost::shared_ptr<FixedArtifact>> fixedArtifactList; /*!<
\91S
\8cÅ
\92è
\83A
\81[
\83e
\83B
\83t
\83@
\83N
\83g
\83\8a\83X
\83g*/
69 std::map<TAG, boost::shared_ptr<ItemBase>> itemBaseList; /*!<
\91S
\83A
\83C
\83e
\83\80\83x
\81[
\83X
\83\8a\83X
\83g*/
70 std::map<TAG, boost::shared_ptr<ItemEgo>> itemEgoList; /*!<
\91S
\83A
\83C
\83e
\83\80\83G
\83S
\83\8a\83X
\83g*/
71 std::map<TAG, boost::shared_ptr<ItemTrait>> itemTraitList; /*!<
\91S
\83A
\83C
\83e
\83\80\93Á
\90«
\83\8a\83X
\83g*/
72 std::map<TAG, boost::shared_ptr<Karma>> karmaList; /*!<
\91S
\83J
\83\8b\83}
\83\8a\83X
\83g*/
73 std::map<TAG, boost::shared_ptr<Quest>> questList; /*!<
\91S
\83N
\83G
\83X
\83g
\93Á
\90«
\83\8a\83X
\83g*/
74 std::map<TAG, boost::shared_ptr<Space>> spaceList; /*!<
\91S
\8bó
\8aÔ
\92n
\8c`
\83\8a\83X
\83g*/
75 std::map<TAG, boost::shared_ptr<Skill>> skillList; /*!<
\91S
\83X
\83L
\83\8b\83\8a\83X
\83g*/
76 std::map<TAG, boost::shared_ptr<Species>> speciesList; /*!<
\91S
\83N
\83\8a\81[
\83`
\83\83\81[
\8eí
\95Ê
\83\8a\83X
\83g*/
77 std::map<TAG, boost::shared_ptr<StartingClass>> startingClassList; /*!<
\91S
\8fo
\8e©
\83\8a\83X
\83g*/
78 std::map<TAG, boost::shared_ptr<Race>> raceList; /*!<
\91S
\8eí
\91°
\83\8a\83X
\83g*/
79 std::map<TAG, boost::shared_ptr<TrapBase>> trapBaseList; /*!<
\91S
\83g
\83\89\83b
\83v
\83x
\81[
\83X
\8eí
\95Ê
\83\8a\83X
\83g*/
81 //
\93®
\93I
\83f
\81[
\83^
\83\8a\83X
\83g
82 std::map<ID, boost::shared_ptr<Item>> itemList; /*!<
\91S
\83A
\83C
\83e
\83\80\83\8a\83X
\83g*/
83 CREATURE_LIST creatureList; /*!<
\91S
\83N
\83\8a\81[
\83`
\83\83\81[
\83\8a\83X
\83g*/
84 std::map<ID, boost::shared_ptr<Field>> fieldList; /*!<
\91S
\83t
\83\8d\83A
\83\8a\83X
\83g*/
85 std::map<ID, boost::shared_ptr<Trap>> trapList; /*!<
\91S
\83g
\83\89\83b
\83v
\83\8a\83X
\83g*/
87 ID itemID; //!<
\8bó
\82«
\83A
\83C
\83e
\83\80ID
88 ID creatureID; //!<
\8bó
\82«
\83N
\83\8a\81[
\83`
\83\83\81[ID
89 ID fieldID; //!<
\8bó
\82«
\83t
\83B
\81[
\83\8b\83hID
90 ID trapID; //!<
\8bó
\82«
\83g
\83\89\83b
\83vID
92 std::vector<boost::shared_ptr<HaveGameTime>> actionList; /*!<
\8ds
\93®
\8f\87\83\8a\83X
\83g*/
94 CREATURE_IT playerIt; //!<
\83v
\83\8c\83C
\83\84\81[
\83N
\83\8a\81[
\83`
\83\83\81[
\8eQ
\8fÆ
\83|
\83C
\83\93\83^
95 GAME_TIME gameTime; //!<
\83Q
\81[
\83\80\8e\9e\8aÔ
97 friend class boost::serialization::access;
100 * @brief
\91å
\8bC
\92n
\8c`
\8fî
\95ñ
\82Ì
\83Z
\81[
\83u
101 * @return
\95Û
\91¶
\82É
\90¬
\8c÷
\82·
\82ê
\82ÎTRUE
\82ð
\95Ô
\82·
102 * @todo
\95Û
\91¶
\8f\88\97\9d\82Ì
\83G
\83\89\81[
\94»
\92è
104 bool GameWorld::xmlSaveAir(void);
107 * @brief
\94
\93®
\8bZ
\94\
\82Ì
\83Z
\81[
\83u
108 * @return
\95Û
\91¶
\82É
\90¬
\8c÷
\82·
\82ê
\82ÎTRUE
\82ð
\95Ô
\82·
109 * @todo
\95Û
\91¶
\8f\88\97\9d\82Ì
\83G
\83\89\81[
\94»
\92è
111 bool GameWorld::xmlSaveAbility(void);
114 * @brief
\8c \94\
\8fî
\95ñ
\82Ì
\83Z
\81[
\83u
115 * @return
\95Û
\91¶
\82É
\90¬
\8c÷
\82·
\82ê
\82ÎTRUE
\82ð
\95Ô
\82·
116 * @todo
\95Û
\91¶
\8f\88\97\9d\82Ì
\83G
\83\89\81[
\94»
\92è
118 bool GameWorld::xmlSaveAuthority(void);
121 * @brief
\8e{
\90Ý
\8fî
\95ñ
\82Ì
\83Z
\81[
\83u
122 * @return
\95Û
\91¶
\82É
\90¬
\8c÷
\82·
\82ê
\82ÎTRUE
\82ð
\95Ô
\82·
123 * @todo
\95Û
\91¶
\8f\88\97\9d\82Ì
\83G
\83\89\81[
\94»
\92è
125 bool GameWorld::xmlSaveBuilding(void);
128 * @brief
\90w
\89c
\8fî
\95ñ
\82Ì
\83Z
\81[
\83u
129 * @return
\95Û
\91¶
\82É
\90¬
\8c÷
\82·
\82ê
\82ÎTRUE
\82ð
\95Ô
\82·
130 * @todo
\95Û
\91¶
\8f\88\97\9d\82Ì
\83G
\83\89\81[
\94»
\92è
132 bool GameWorld::xmlSaveCamp(void);
135 * @brief
\83N
\83\8a\81[
\83`
\83\83\81[
\93Á
\90«
\82Ì
\83Z
\81[
\83u
136 * @return
\95Û
\91¶
\82É
\90¬
\8c÷
\82·
\82ê
\82ÎTRUE
\82ð
\95Ô
\82·
137 * @todo
\95Û
\91¶
\8f\88\97\9d\82Ì
\83G
\83\89\81[
\94»
\92è
139 bool GameWorld::xmlSaveCreatureTrait(void);
142 * @brief
\83_
\83\93\83W
\83\87\83\93\8fî
\95ñ
\82Ì
\83Z
\81[
\83u
143 * @return
\95Û
\91¶
\82É
\90¬
\8c÷
\82·
\82ê
\82ÎTRUE
\82ð
\95Ô
\82·
144 * @todo
\95Û
\91¶
\8f\88\97\9d\82Ì
\83G
\83\89\81[
\94»
\92è
146 bool GameWorld::xmlSaveDungeon(void);
149 * @brief
\8cø
\89Ê
\91®
\90«
\8fî
\95ñ
\82Ì
\83Z
\81[
\83u
150 * @return
\95Û
\91¶
\82É
\90¬
\8c÷
\82·
\82ê
\82ÎTRUE
\82ð
\95Ô
\82·
151 * @todo
\95Û
\91¶
\8f\88\97\9d\82Ì
\83G
\83\89\81[
\94»
\92è
153 bool GameWorld::xmlSaveEffect(void);
156 * @brief
\92n
\8c`
\8fî
\95ñ
\82Ì
\83Z
\81[
\83u
157 * @return
\95Û
\91¶
\82É
\90¬
\8c÷
\82·
\82ê
\82ÎTRUE
\82ð
\95Ô
\82·
158 * @todo
\95Û
\91¶
\8f\88\97\9d\82Ì
\83G
\83\89\81[
\94»
\92è
160 bool GameWorld::xmlSaveFloor(void);
163 * @brief
\8cÅ
\92è
\83A
\81[
\83e
\83B
\83t
\83@
\83N
\83g
\8fî
\95ñ
\82Ì
\83Z
\81[
\83u
164 * @return
\95Û
\91¶
\82É
\90¬
\8c÷
\82·
\82ê
\82ÎTRUE
\82ð
\95Ô
\82·
165 * @todo
\95Û
\91¶
\8f\88\97\9d\82Ì
\83G
\83\89\81[
\94»
\92è
167 bool GameWorld::xmlSaveFixedArtifact(void);
170 * @brief
\83x
\81[
\83X
\83A
\83C
\83e
\83\80\8fî
\95ñ
\82Ì
\83Z
\81[
\83u
171 * @return
\95Û
\91¶
\82É
\90¬
\8c÷
\82·
\82ê
\82ÎTRUE
\82ð
\95Ô
\82·
172 * @todo
\95Û
\91¶
\8f\88\97\9d\82Ì
\83G
\83\89\81[
\94»
\92è
174 bool GameWorld::xmlSaveItemBase(void);
177 * @brief
\83A
\83C
\83e
\83\80\83G
\83S
\8fî
\95ñ
\82Ì
\83Z
\81[
\83u
178 * @return
\95Û
\91¶
\82É
\90¬
\8c÷
\82·
\82ê
\82ÎTRUE
\82ð
\95Ô
\82·
179 * @todo
\95Û
\91¶
\8f\88\97\9d\82Ì
\83G
\83\89\81[
\94»
\92è
181 bool GameWorld::xmlSaveItemEgo(void);
184 * @brief
\83A
\83C
\83e
\83\80\93Á
\90«
\8fî
\95ñ
\82Ì
\83Z
\81[
\83u
185 * @return
\95Û
\91¶
\82É
\90¬
\8c÷
\82·
\82ê
\82ÎTRUE
\82ð
\95Ô
\82·
186 * @todo
\95Û
\91¶
\8f\88\97\9d\82Ì
\83G
\83\89\81[
\94»
\92è
188 bool GameWorld::xmlSaveItemTrait(void);
191 * @brief
\83J
\83\8b\83}
\8fî
\95ñ
\82Ì
\83Z
\81[
\83u
192 * @return
\95Û
\91¶
\82É
\90¬
\8c÷
\82·
\82ê
\82ÎTRUE
\82ð
\95Ô
\82·
193 * @todo
\95Û
\91¶
\8f\88\97\9d\82Ì
\83G
\83\89\81[
\94»
\92è
195 bool GameWorld::xmlSaveKarma(void);
198 * @brief
\83N
\83G
\83X
\83g
\8fî
\95ñ
\82Ì
\83Z
\81[
\83u
199 * @return
\95Û
\91¶
\82É
\90¬
\8c÷
\82·
\82ê
\82ÎTRUE
\82ð
\95Ô
\82·
200 * @todo
\95Û
\91¶
\8f\88\97\9d\82Ì
\83G
\83\89\81[
\94»
\92è
202 bool GameWorld::xmlSaveQuest(void);
205 * @brief
\83N
\83G
\83X
\83g
\8fî
\95ñ
\82Ì
\83Z
\81[
\83u
206 * @return
\8f\91\82«
\8d\9e\82Ý
\82É
\90¬
\8c÷
\82·
\82ê
\82ÎTRUE
\82ð
\95Ô
\82·
207 * @todo
\8f\91\82«
\8d\9e\82Ý
\8f\88\97\9d\82Ì
\83G
\83\89\81[
\94»
\92è
209 bool GameWorld::xmlSaveRace(void);
212 * @brief
\83X
\83L
\83\8b\8fî
\95ñ
\82Ì
\83Z
\81[
\83u
213 * @return
\95Û
\91¶
\82É
\90¬
\8c÷
\82·
\82ê
\82ÎTRUE
\82ð
\95Ô
\82·
214 * @todo
\95Û
\91¶
\8f\88\97\9d\82Ì
\83G
\83\89\81[
\94»
\92è
216 bool GameWorld::xmlSaveSkill(void);
219 * @brief
\8bó
\8aÔ
\92n
\8c`
\8fî
\95ñ
\82Ì
\83Z
\81[
\83u
220 * @return
\95Û
\91¶
\82É
\90¬
\8c÷
\82·
\82ê
\82ÎTRUE
\82ð
\95Ô
\82·
221 * @todo
\95Û
\91¶
\8f\88\97\9d\82Ì
\83G
\83\89\81[
\94»
\92è
223 bool GameWorld::xmlSaveSpace(void);
226 * @brief
\83N
\83\8a\81[
\83`
\83\83\81[
\8eí
\95Ê
\8fî
\95ñ
\82Ì
\83Z
\81[
\83u
227 * @return
\95Û
\91¶
\82É
\90¬
\8c÷
\82·
\82ê
\82ÎTRUE
\82ð
\95Ô
\82·
228 * @todo
\95Û
\91¶
\8f\88\97\9d\82Ì
\83G
\83\89\81[
\94»
\92è
230 bool GameWorld::xmlSaveSpecie(void);
233 * @brief
\8fo
\8e©
\8fî
\95ñ
\82Ì
\83Z
\81[
\83u
234 * @return
\95Û
\91¶
\82É
\90¬
\8c÷
\82·
\82ê
\82ÎTRUE
\82ð
\95Ô
\82·
235 * @todo
\95Û
\91¶
\8f\88\97\9d\82Ì
\83G
\83\89\81[
\94»
\92è
237 bool GameWorld::xmlSaveStartingClass(void);
240 * @brief
\83x
\81[
\83X
\83g
\83\89\83b
\83v
\8fî
\95ñ
\82Ì
\83Z
\81[
\83u
241 * @return
\95Û
\91¶
\82É
\90¬
\8c÷
\82·
\82ê
\82ÎTRUE
\82ð
\95Ô
\82·
242 * @todo
\95Û
\91¶
\8f\88\97\9d\82Ì
\83G
\83\89\81[
\94»
\92è
244 bool GameWorld::xmlSaveTrapBase(void);
246 bool GameWorld::xmlLoadAir(void);
247 bool GameWorld::xmlLoadAbility(void);
248 bool GameWorld::xmlLoadAuthority(void);
249 bool GameWorld::xmlLoadBuilding(void);
250 bool GameWorld::xmlLoadCamp(void);
251 bool GameWorld::xmlLoadCreatureTrait(void);
252 bool GameWorld::xmlLoadDungeon(void);
253 bool GameWorld::xmlLoadEffect(void);
254 bool GameWorld::xmlLoadFloor(void);
255 bool GameWorld::xmlLoadFixedArtifact(void);
256 bool GameWorld::xmlLoadItemBase(void);
257 bool GameWorld::xmlLoadItemEgo(void);
258 bool GameWorld::xmlLoadItemTrait(void);
259 bool GameWorld::xmlLoadKarma(void);
260 bool GameWorld::xmlLoadQuest(void);
261 bool GameWorld::xmlLoadRace(void);
262 bool GameWorld::xmlLoadSpace(void);
263 bool GameWorld::xmlLoadSkill(void);
264 bool GameWorld::xmlLoadSpecie(void);
265 bool GameWorld::xmlLoadStartingClass(void);
266 bool GameWorld::xmlLoadTrapBase(void);
269 * @brief
\83N
\83\89\83X
\82Ì
\83V
\83\8a\83A
\83\89\83C
\83Y
\82ð
\90Ý
\92è
\82·
\82é
270 * @param archive
\83A
\81[
\83J
\83C
\83u
\89»
\82·
\82é
\83N
\83\89\83X
\82Ì
\83A
\83h
\83\8c\83X
271 * @param version
\83t
\83@
\83C
\83\8b\83o
\81[
\83W
\83\87\83\93
272 * @return XMLSerialize
\83e
\83\93\83v
\83\8c\81[
\83g
274 template<class Archive> void serialize(Archive &archive, const unsigned int version)
278 archive & boost::serialization::make_nvp("Authorities", authorityList);
279 archive & boost::serialization::make_nvp("Buildings", buildingList);
280 archive & boost::serialization::make_nvp("Camps", campList);
281 archive & boost::serialization::make_nvp("Dungeons", dungeonList);
282 archive & boost::serialization::make_nvp("Effects", effectList);
283 archive & boost::serialization::make_nvp("Floors", floorList);
284 archive & boost::serialization::make_nvp("FixedArtifacts", fixedArtifactList);
285 archive & boost::serialization::make_nvp("ItemBases", itemBaseList);
286 archive & boost::serialization::make_nvp("ItemEgos", itemEgoList);
287 archive & boost::serialization::make_nvp("ItemTraits", itemTraitList);
288 archive & boost::serialization::make_nvp("Karmas", karmaList);
289 archive & boost::serialization::make_nvp("Quests", questList);
290 archive & boost::serialization::make_nvp("Skills", skillList);
291 archive & boost::serialization::make_nvp("Species", speciesList);
292 archive & boost::serialization::make_nvp("TrapBases", trapBaseList);
294 archive & boost::serialization::make_nvp("Authorities", authorityList);
295 archive & boost::serialization::make_nvp("Creatures", creatureList);
296 archive & boost::serialization::make_nvp("Items", itemList);
297 archive & boost::serialization::make_nvp("Fields", fieldList);
298 archive & boost::serialization::make_nvp("Traps", trapList);
305 * @brief GameWorld
\83N
\83\89\83X
\82Ì
\83R
\83\93\83X
\83g
\83\89\83N
\83^
306 * @param gSurface
\83Q
\81[
\83\80\82Ì
\83C
\83\93\83^
\81[
\83t
\83F
\83C
\83X
\82Æ
\82È
\82é GameSurface
\8eQ
\8fÆ
308 GameWorld::GameWorld(void);
311 * @brief GameWorld
\83N
\83\89\83X
\82Ì
\83f
\83X
\83g
\83\89\83N
\83^
313 GameWorld::~GameWorld(void);
316 * @brief
\83N
\83\8a\81[
\83`
\83\83\81[
\82ð
\90¶
\90¬
\82µGameWorld
\92\86\82Ì
\8f\94\97v
\91f
\82Æ
\98A
\8cg
\82³
\82¹
\82é
317 * @param creatureTag
\83N
\83\8a\81[
\83`
\83\83\81[
\83^
\83O
318 * @return
\90¶
\90¬
\82É
\90¬
\8c÷
\82µ
\82½
\8fê
\8d\87true
\82ð
\95Ô
\82·
320 bool GameWorld::GenerateCreature(TAG creatureTag);
323 * @brief
\83N
\83\8a\81[
\83`
\83\83\81[
\82ð
\90¶
\90¬
\82µGameWorld
\92\86\82Ì
\8f\94\97v
\91f
\82Æ
\98A
\8cg
\82³
\82¹
\82é
324 * @param creatureTag
\83N
\83\8a\81[
\83`
\83\83\81[
\83^
\83O
325 * @param fieldID
\94z
\92u
\90æ
\83t
\83B
\81[
\83\8b\83hID
326 * @param x
\94z
\92u
\90æX
\8dÀ
\95W
327 * @param y
\94z
\92u
\90æY
\8dÀ
\95W
328 * @return
\90¶
\90¬
\82É
\90¬
\8c÷
\82µ
\82½
\8fê
\8d\87true
\82ð
\95Ô
\82·
330 bool GameWorld::GenerateCreature(TAG creatureTag, ID fieldID, int x, int y);
333 * @brief GameWorld
\92\86\82É
\91¶
\8dÝ
\82·
\82é
\8c \94\
\82ð
\95Ô
\82·
334 * @param tag
\8c \94\
\82Ì
\83^
\83O
335 * @return
\8c \94\
\82Ì
\8eQ
\8fÆ
\83|
\83C
\83\93\83^
\81A
\91¶
\8dÝ
\82µ
\82È
\82¯
\82ê
\82ÎNULL
\82ð
\95Ô
\82·
\81B
337 Authority *GameWorld::GetAuthority(TAG tag);
340 * @brief GameWorld
\92\86\82É
\91¶
\8dÝ
\82·
\82é
\83N
\83\8a\81[
\83`
\83\83\81[
\93Á
\90«
\82ð
\95Ô
\82·
341 * @param tag
\83N
\83\8a\81[
\83`
\83\83\81[
\93Á
\90«
\82Ì
\83^
\83O
342 * @return
\83N
\83\8a\81[
\83`
\83\83\81[
\93Á
\90«
\82Ì
\8eQ
\8fÆ
\83|
\83C
\83\93\83^
\81A
\91¶
\8dÝ
\82µ
\82È
\82¯
\82ê
\82ÎNULL
\82ð
\95Ô
\82·
\81B
344 CreatureTrait *GameWorld::GetCreatureTrait(TAG tag);
347 * @brief GameWorld
\92\86\82É
\91¶
\8dÝ
\82·
\82é
\8cø
\89Ê
\91®
\90«
\82ð
\95Ô
\82·
348 * @param tag
\8cø
\89Ê
\91®
\90«
\82Ì
\83^
\83O
349 * @return
\8cø
\89Ê
\91®
\90«
\82Ì
\8eQ
\8fÆ
\83|
\83C
\83\93\83^
\81A
\91¶
\8dÝ
\82µ
\82È
\82¯
\82ê
\82ÎNULL
\82ð
\95Ô
\82·
\81B
351 Effect *GameWorld::GetEffect(TAG tag);
354 * @brief GameWorld
\92\86\82É
\91¶
\8dÝ
\82·
\82é
\8cÅ
\92è
\83A
\81[
\83e
\83B
\83t
\83@
\83N
\83g
\82ð
\95Ô
\82·
355 * @param tag
\8cø
\89Ê
\91®
\90«
\82Ì
\83^
\83O
356 * @return
\8cÅ
\92è
\83A
\81[
\83e
\83B
\83t
\83@
\83N
\83g
\82Ì
\8eQ
\8fÆ
\83|
\83C
\83\93\83^
\81A
\91¶
\8dÝ
\82µ
\82È
\82¯
\82ê
\82ÎNULL
\82ð
\95Ô
\82·
\81B
358 FixedArtifact *GameWorld::GetFixedArtifact(TAG tag);
361 * @brief GameWorld
\92\86\82É
\91¶
\8dÝ
\82·
\82é
\92n
\8c`
\82ð
\95Ô
\82·
362 * @param tag
\92n
\8c`
\82Ì
\83^
\83O
363 * @return
\92n
\8c`
\82Ì
\8eQ
\8fÆ
\83|
\83C
\83\93\83^
\81A
\91¶
\8dÝ
\82µ
\82È
\82¯
\82ê
\82ÎNULL
\82ð
\95Ô
\82·
\81B
365 Floor *GameWorld::GetFloor(TAG tag);
368 * @brief GameWorld
\92\86\82É
\91¶
\8dÝ
\82·
\82é
\83x
\81[
\83X
\83A
\83C
\83e
\83\80\82ð
\95Ô
\82·
369 * @param tag
\83x
\81[
\83X
\83A
\83C
\83e
\83\80\82Ì
\83^
\83O
370 * @return
\83x
\81[
\83X
\83A
\83C
\83e
\83\80\82Ì
\8eQ
\8fÆ
\83|
\83C
\83\93\83^
\81A
\91¶
\8dÝ
\82µ
\82È
\82¯
\82ê
\82ÎNULL
\82ð
\95Ô
\82·
\81B
372 ItemBase *GameWorld::GetItemBase(TAG tag);
375 * @brief GameWorld
\92\86\82É
\91¶
\8dÝ
\82·
\82é
\83A
\83C
\83e
\83\80\83G
\83S
\82ð
\95Ô
\82·
376 * @param tag
\83A
\83C
\83e
\83\80\83G
\83S
\82Ì
\83^
\83O
377 * @return
\83A
\83C
\83e
\83\80\83G
\83S
\82Ì
\8eQ
\8fÆ
\83|
\83C
\83\93\83^
\81A
\91¶
\8dÝ
\82µ
\82È
\82¯
\82ê
\82ÎNULL
\82ð
\95Ô
\82·
\81B
379 ItemEgo *GameWorld::GetItemEgo(TAG tag);
382 * @brief GameWorld
\92\86\82É
\91¶
\8dÝ
\82·
\82é
\83A
\83C
\83e
\83\80\93Á
\90«
\82ð
\95Ô
\82·
383 * @param tag
\83A
\83C
\83e
\83\80\93Á
\90«
\82Ì
\83^
\83O
384 * @return
\83A
\83C
\83e
\83\80\93Á
\90«
\82Ì
\8eQ
\8fÆ
\83|
\83C
\83\93\83^
\81A
\91¶
\8dÝ
\82µ
\82È
\82¯
\82ê
\82ÎNULL
\82ð
\95Ô
\82·
\81B
386 ItemTrait *GameWorld::GetItemTrait(TAG tag);
389 * @brief GameWorld
\92\86\82É
\91¶
\8dÝ
\82·
\82é
\83J
\83\8b\83}
\82ð
\95Ô
\82·
390 * @param tag
\83J
\83\8b\83}
\82Ì
\83^
\83O
391 * @return
\83J
\83\8b\83}
\82Ì
\8eQ
\8fÆ
\83|
\83C
\83\93\83^
\81A
\91¶
\8dÝ
\82µ
\82È
\82¯
\82ê
\82ÎNULL
\82ð
\95Ô
\82·
\81B
393 Karma *GameWorld::GetKarma(TAG tag);
396 * @brief GameWorld
\92\86\82É
\91¶
\8dÝ
\82·
\82é
\83X
\83L
\83\8b\82ð
\95Ô
\82·
397 * @param tag
\83X
\83L
\83\8b\82Ì
\83^
\83O
398 * @return
\83X
\83L
\83\8b\82Ì
\8eQ
\8fÆ
\83|
\83C
\83\93\83^
\81A
\91¶
\8dÝ
\82µ
\82È
\82¯
\82ê
\82ÎNULL
\82ð
\95Ô
\82·
\81B
400 Skill *GameWorld::GetSkill(TAG tag);
403 * @brief GameWorld
\92\86\82É
\91¶
\8dÝ
\82·
\82é
\83X
\83L
\83\8b\82ð
\95Ô
\82·
404 * @param tag
\83X
\83L
\83\8b\82Ì
\83^
\83O
405 * @return
\83X
\83L
\83\8b\82Ì
\8eQ
\8fÆ
\83|
\83C
\83\93\83^
\81A
\91¶
\8dÝ
\82µ
\82È
\82¯
\82ê
\82ÎNULL
\82ð
\95Ô
\82·
\81B
407 Species *GameWorld::GetSpecies(TAG tag);
410 * @brief GameWorld
\92\86\82É
\91¶
\8dÝ
\82·
\82é
\83g
\83\89\83b
\83v
\8eí
\95Ê
\82ð
\95Ô
\82·
411 * @param tag
\83g
\83\89\83b
\83v
\8eí
\95Ê
\82Ì
\83^
\83O
412 * @return
\83g
\83\89\83b
\83v
\8eí
\95Ê
\82Ì
\8eQ
\8fÆ
\83|
\83C
\83\93\83^
\81A
\91¶
\8dÝ
\82µ
\82È
\82¯
\82ê
\82ÎNULL
\82ð
\95Ô
\82·
\81B
414 TrapBase *GameWorld::GetTrapBase(TAG tag);
417 * @brief GameWorld
\92\86\82É
\91¶
\8dÝ
\82·
\82é
\8e{
\90Ý
\82ð
\95Ô
\82·
418 * @param tag
\8e{
\90Ý
\82Ì
\83^
\83O
419 * @return
\8e{
\90Ý
\82Ì
\8eQ
\8fÆ
\83|
\83C
\83\93\83^
\81A
\91¶
\8dÝ
\82µ
\82È
\82¯
\82ê
\82ÎNULL
\82ð
\95Ô
\82·
\81B
421 Building *GameWorld::GetBuilding(TAG tag);
424 * @brief GameWorld
\92\86\82É
\91¶
\8dÝ
\82·
\82é
\90w
\89c
\82ð
\95Ô
\82·
425 * @param tag
\90w
\89c
\82Ì
\83^
\83O
426 * @return
\90w
\89c
\82Ì
\8eQ
\8fÆ
\83|
\83C
\83\93\83^
\81A
\91¶
\8dÝ
\82µ
\82È
\82¯
\82ê
\82ÎNULL
\82ð
\95Ô
\82·
\81B
428 Camp *GameWorld::GetCamp(TAG tag);
431 * @brief GameWorld
\92\86\82É
\91¶
\8dÝ
\82·
\82é
\83_
\83\93\83W
\83\87\83\93\82ð
\95Ô
\82·
432 * @param tag
\83_
\83\93\83W
\83\87\83\93\82Ì
\83^
\83O
433 * @return
\83_
\83\93\83W
\83\87\83\93\82Ì
\8eQ
\8fÆ
\83|
\83C
\83\93\83^
\81A
\91¶
\8dÝ
\82µ
\82È
\82¯
\82ê
\82ÎNULL
\82ð
\95Ô
\82·
\81B
435 Dungeon *GameWorld::GetDungeon(TAG tag);
438 * @brief GameWorld
\92\86\82É
\91¶
\8dÝ
\82·
\82é
\83A
\83C
\83e
\83\80\82ð
\95Ô
\82·
439 * @param id
\83A
\83C
\83e
\83\80\82ÌID
440 * @return
\83A
\83C
\83e
\83\80\82Ì
\8eQ
\8fÆ
\83|
\83C
\83\93\83^
\81A
\91¶
\8dÝ
\82µ
\82È
\82¯
\82ê
\82ÎNULL
\82ð
\95Ô
\82·
\81B
442 Item *GameWorld::GetItem(ID id);
445 * @brief GameWorld
\92\86\82É
\91¶
\8dÝ
\82·
\82é
\83t
\83\8d\83A
\82ð
\95Ô
\82·
446 * @param id
\83t
\83\8d\83A
\82ÌID
447 * @return
\83t
\83\8d\83A
\82Ì
\8eQ
\8fÆ
\83|
\83C
\83\93\83^
\81A
\91¶
\8dÝ
\82µ
\82È
\82¯
\82ê
\82ÎNULL
\82ð
\95Ô
\82·
\81B
449 Field *GameWorld::GetField(ID id);
452 * @brief GameWorld
\92\86\82É
\91¶
\8dÝ
\82·
\82é
\83N
\83\8a\81[
\83`
\83\83\81[
\82ð
\95Ô
\82·
453 * @param id
\83N
\83\8a\81[
\83`
\83\83\81[
\82ÌID
454 * @return
\83N
\83\8a\81[
\83`
\83\83\81[
\82Ì
\8eQ
\8fÆ
\83|
\83C
\83\93\83^
\81A
\91¶
\8dÝ
\82µ
\82È
\82¯
\82ê
\82ÎNULL
\82ð
\95Ô
\82·
\81B
456 Creature *GameWorld::GetCreature(ID id);
459 * @brief GameWorld
\92\86\82É
\91¶
\8dÝ
\82·
\82é
\94
\93®
\8bZ
\94\
\82ð
\95Ô
\82·
460 * @return
\91S
\94
\93®
\8bZ
\94\
\82Ì
\83\8a\83X
\83g
462 std::map<TAG, boost::shared_ptr<Ability>> *GameWorld::GetAbilityList(void);
465 * @brief GameWorld
\92\86\82É
\91¶
\8dÝ
\82·
\82é
\83N
\83\8a\81[
\83`
\83\83\81[
\82ð
\95Ô
\82·
466 * @return
\91S
\83N
\83\8a\81[
\83`
\83\83\81[
\82Ì
\83\8a\83X
\83g
468 CREATURE_LIST *GameWorld::GetCreatureList(void);
471 * @brief GameWorld
\92\86\82É
\91¶
\8dÝ
\82·
\82é
\83N
\83G
\83X
\83g
\82ð
\95Ô
\82·
472 * @param tag
\83N
\83G
\83X
\83g
\82Ì
\83^
\83O
473 * @return
\83N
\83G
\83X
\83g
\82Ì
\8eQ
\8fÆ
\83|
\83C
\83\93\83^
\81A
\91¶
\8dÝ
\82µ
\82È
\82¯
\82ê
\82ÎNULL
\82ð
\95Ô
\82·
\81B
475 Quest *GameWorld::GetQuest(TAG tag);
478 * @brief
\83Q
\81[
\83\80\8e\9e\8aÔ
\82ð
\95Ô
\82·
479 * @return
\83Q
\81[
\83\80\8e\9e\8aÔ
481 GAME_TIME GameWorld::GetGameTime(void);
484 * @brief XML
\83V
\83\8a\83A
\83\89\83C
\83Y
\82É
\82æ
\82é
\83Q
\81[
\83\80\83f
\81[
\83^
\95Û
\91¶
\8f\88\97\9d
487 bool GameWorld::XMLSave(void);
490 * @brief XML
\83f
\83V
\83\8a\83A
\83\89\83C
\83Y
\82É
\82æ
\82é
\83Q
\81[
\83\80\83f
\81[
\83^
\93Ç
\8d\9e\8f\88\97\9d
493 void GameWorld::XMLLoad(void);
496 * @brief
\91Î
\89\9e\82µ
\82½ID
\82Ì
\83N
\83\8a\81[
\83`
\83\83\81[
\82ð
\83\8a\83X
\83g
\82©
\82ç
\8f\9c\8aO
\82·
\82é
499 void GameWorld::WipeCreature(ID id);
502 * @brief
\83v
\83\8c\83C
\83\84\81[
\83N
\83\8a\81[
\83`
\83\83\81[
\82ð
\95Ô
\82·
503 * @return
\83v
\83\8c\83C
\83\84\81[
\83N
\83\8a\81[
\83`
\83\83\81[
\82Ì
\8eQ
\8fÆ
\83|
\83C
\83\93\83^
505 CREATURE_IT GameWorld::GetPlayerCreature(void);
508 * @brief
\8ds
\93®
\8f\87\83\8a\83X
\83g
\82ð
\95Ô
\82·
509 * @return
\8ds
\93®
\8f\87\83\8a\83X
\83g
511 ACTION_LIST *GameWorld::GetActionList(void);
514 * @brief
\8ew
\92è
\83t
\83B
\81[
\83\8b\83h
\8by
\82Ñ
\8dÀ
\95W
\82É
\91¶
\8dÝ
\82·
\82é
\83N
\83\8a\81[
\83`
\83\83\81[
\82ª
\82¢
\82é
\82©
\82ð
\94»
\95Ê
\82µ
\83N
\83\8a\81[
\83`
\83\83\81[
\82ð
\95Ô
\82·
\81B
515 * @param fieldID
\83t
\83B
\81[
\83\8b\83hID
516 * @param positionPtr
\8dÀ
\95W
\83|
\83C
\83\93\83^
517 * @param
\91¶
\8dÝ
\82·
\82é
\83N
\83\8a\81[
\83`
\83\83\81[
\82Ì
\83|
\83C
\83\93\83^
\81A
\91¶
\8dÝ
\82µ
\82È
\82¢
\8fê
\8d\87NULL
\81B
519 Creature *GameWorld::GetCreatureFromPosition(ID fieldID, Coordinates *positionPtr);
522 * @brief
\8ew
\92è
\83t
\83B
\81[
\83\8b\83h
\8by
\82Ñ
\8dÀ
\95W
\82É
\91¶
\8dÝ
\82·
\82é
\92n
\8c`
\8fî
\95ñ
\82ð
\95Ô
\82·
\81B
523 * @param fieldID
\83t
\83B
\81[
\83\8b\83hID
524 * @param positionPtr
\8dÀ
\95W
\83|
\83C
\83\93\83^
525 * @param
\91¶
\8dÝ
\82·
\82é
\83N
\83\8a\81[
\83`
\83\83\81[
\82Ì
\83|
\83C
\83\93\83^
\81A
\91¶
\8dÝ
\82µ
\82È
\82¢
\8fê
\8d\87NULL
\81B
527 Floor *GameWorld::GetFloorFromPosition(ID fieldID, Coordinates *positionPtr);
529 std::map<TAG, boost::shared_ptr<Floor>> *GameWorld::GetFloorList(void);
531 std::map<TAG, boost::shared_ptr<Species>> *GameWorld::GetSpeciesList(void);