OSDN Git Service

fix cmake/Macros.cmake
[moflib/moflib.git] / moflib-1.0 / src / mof / script / Environment.hpp
1 #pragma once
2 #include <mof/script/CommandSet.hpp>
3 #include <mof/script/ObjectData.hpp>
4 #include <memory>
5 #include <vector>
6         
7 namespace mof
8 {
9         class InputReceiver;
10 namespace script
11 {
12
13         class Environment : public CommandSet
14         {
15         public:
16                 
17                 Environment(std::shared_ptr<mof::InputReceiver> input);
18                 virtual ~Environment();
19
20                 virtual int message_create(const mof::tstring& title, const GameData::entry_t& style);
21                 
22                 virtual int message_next(int id, const tstring& text);
23            
24                 virtual void wait_for_key(mof::InputReceiver::Key key);
25                 
26                 virtual mof::InputReceiver::Key get_last_key();
27                 
28                 virtual void wait_frame(size_t frame);
29
30                 virtual int menu_create(const mof::tstring& title, const std::vector<mof::tstring>& items, const GameData::entry_t& style);
31
32                 virtual int menu_move_cursor(int id, MoveDirection direction);
33                 
34                 virtual int menu_select(int id);
35                 
36                 virtual int menu_get_current(int id);
37                 
38                 virtual int sound_create(const mof::tstring& filepath);
39                 
40                 virtual void sound_play(int id);
41                 
42                 virtual GameData::ptr load_game_data(const mof::tstring& resource_path);
43                 virtual void print_debug(const mof::tstring& message);
44
45                 virtual int picture_create(const mof::tstring& filepath);
46                 
47                 virtual int particlegen_create();
48                 
49                 // 共通のメソッド
50                 virtual int show(int id, const mof::tstring& class_path);
51                 
52                 virtual int hide(int id, const mof::tstring& class_path);
53                 
54                 virtual void dispose(int id, const mof::tstring& class_path);
55                 
56                 virtual GameData::ptr get_properties(int id, const mof::tstring& class_path);
57
58                 virtual void set_color_behavior(int id, const mof::tstring& class_path, const Manipulator<Color4f>::ptr& seq, mof::FrameNumber period);
59                 
60                 virtual void set_position_behavior(int id, const mof::tstring& class_path, const Manipulator<Vector2D>::ptr& seq, mof::FrameNumber period);
61                 
62                 virtual void set_position_behavior(int id, const mof::tstring& class_path, const Manipulator<Vector3D>::ptr& seq, FrameNumber period);
63                 
64                 virtual void set_size_behavior(int id, const mof::tstring& class_path, const Manipulator<Vector2D>::ptr& seq, mof::FrameNumber period);
65
66                 void update();
67
68                 void draw() const;
69
70                 bool isWaiting() const;
71
72         protected:      
73                 virtual std::unique_ptr<MessageData> 
74                 create_message_data
75                 (
76                         const mof::tstring& title, const GameData::entry_t& style
77                 ) = 0;
78
79                 virtual std::unique_ptr<MenuData> 
80                 create_menu_data
81                 (
82                         const mof::tstring& title, const std::vector<mof::tstring>& items, const GameData::entry_t& style
83                 ) = 0;
84
85                 virtual GameData::ptr get_game_data(const mof::tstring& resource_path) = 0;
86
87         private:
88                 struct Impl;
89                 std::unique_ptr<Impl> impl_;
90         };
91
92 }
93 }
94