OSDN Git Service

implement rendering queue
[moflib/moflib.git] / saisei-1.0 / src / script / MyEnvironment.hpp
1 #pragma once
2 #include <mof/script/Environment.hpp>
3 #include <mof/script/ObjectData.hpp>
4 #include <mof/Graphics3D.hpp>
5 #include <memory>
6         
7
8 namespace script
9 {
10
11         class MyEnvironment : public mof::script::Environment
12         {
13         public:
14                 
15                 MyEnvironment(std::shared_ptr<mof::InputReceiver> input);
16                 virtual ~MyEnvironment();
17                 virtual void save_profile();
18
19
20         protected:      
21                 virtual std::unique_ptr<mof::script::MessageData> 
22                 create_message_data
23                 (
24                         const mof::tstring& title, const mof::script::GameData::entry_t& style
25                 );
26
27                 virtual std::unique_ptr<mof::script::MenuData> 
28                 create_menu_data
29                 (
30                         const mof::tstring& title, const std::vector<mof::tstring>& items, const mof::script::GameData::entry_t& style
31                 );
32
33                 virtual mof::script::GameData::ptr get_game_data(const mof::tstring& resource_path);
34                 
35                 virtual void set_game_data(const mof::tstring& resource_path, const mof::script::GameData::ptr& game_data);
36
37                 virtual std::shared_ptr<mof::Graphics3D> create_solid(const mof::tstring& class_path);
38                 
39                 virtual mof::frame_t put_element
40                 (
41                         mof::script::CommandSet::ElementType type,
42                         int x,
43                         int y
44                 );
45
46                 virtual int land_region_create(int x, int y, int priority);
47
48                 virtual void world_sleep();
49                 
50
51         private:
52                 struct Impl;
53                 std::unique_ptr<Impl> impl_;
54         };
55
56 }
57