OSDN Git Service

fix cmake/Macros.cmake
[moflib/moflib.git] / moflib-1.0 / src / mof / script / ObjectData.hpp
1 #pragma once
2 #include <memory>
3 #include <vector>
4 #include <list>
5 #include <map>
6 #include <mof/tstring.hpp>
7 #include <mof/Board.hpp>
8 #include <mof/particlegen.hpp>
9 #include <mof/stream/ReferenceWrapper.hpp>
10
11 namespace mof
12 {
13         class Sprite;
14         class particlegen;
15 namespace widget
16 {
17         class Message;
18         class Menu;
19         class Frame;
20 }
21         class SoundBuffer;
22
23 namespace script
24 {
25
26                 struct MessageData
27                 {
28                         std::shared_ptr<mof::widget::Message> message_;
29                         std::shared_ptr<mof::widget::Frame> frame_;// Drawer
30                 };
31                 
32                 struct MenuData
33                 {
34                         std::shared_ptr<mof::widget::Menu> menu_;
35                         std::shared_ptr<mof::widget::Frame> frame_;// Drawer
36
37                 };
38
39                 struct PictureData
40                 {
41                         std::shared_ptr<mof::Sprite> sprite_;
42                         typedef std::shared_ptr<PictureData> ptr;
43                 };
44                 
45                 struct ParticlegenData
46                 {
47                         mof::particlegen::ptr particlegen_;
48                         ReferenceWrapper<Matrix3D> position_ref_;
49                         typedef std::shared_ptr<ParticlegenData> ptr;
50                 };
51
52
53                 struct SoundData
54                 {
55                         std::shared_ptr<mof::SoundBuffer> sound_;
56                         bool streaming_;
57                 };
58
59                 struct GameData // TODO rename
60                 {
61                         std::vector<std::map<mof::tstring, mof::tstring>> data_;
62                         typedef std::shared_ptr<GameData> ptr;
63                         typedef std::map<mof::tstring, mof::tstring> entry_t;
64                         typedef std::pair<mof::tstring, mof::tstring> pair_t;
65
66                         friend std::ostream& operator <<(std::ostream& os , const GameData& obj);
67                 };
68
69
70 }// namespace script
71 }// namespace mof