diff options
author | Perttu Ahola <celeron55@gmail.com> | 2011-11-11 19:33:17 +0200 |
---|---|---|
committer | Perttu Ahola <celeron55@gmail.com> | 2011-11-29 19:13:38 +0200 |
commit | bfc68d31510bbd40732c19ada51d4683cb050de2 (patch) | |
tree | 21ca37b09d78761ae59d84af096a8ff391838a89 /src/content_cao.h | |
parent | ee8b6d34447acab3ffb318dc8c070df890c1b810 (diff) | |
download | minetest-bfc68d31510bbd40732c19ada51d4683cb050de2.tar.gz minetest-bfc68d31510bbd40732c19ada51d4683cb050de2.tar.bz2 minetest-bfc68d31510bbd40732c19ada51d4683cb050de2.zip |
Scripting WIP
Diffstat (limited to 'src/content_cao.h')
-rw-r--r-- | src/content_cao.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/content_cao.h b/src/content_cao.h index 963e1a488..c8554e737 100644 --- a/src/content_cao.h +++ b/src/content_cao.h @@ -376,6 +376,46 @@ private: Settings *m_properties; }; +/* + LuaEntityCAO +*/ + +class LuaEntityCAO : public ClientActiveObject +{ +public: + LuaEntityCAO(); + virtual ~LuaEntityCAO(); + + u8 getType() const + { + return ACTIVEOBJECT_TYPE_LUAENTITY; + } + + static ClientActiveObject* create(); + + void addToScene(scene::ISceneManager *smgr); + void removeFromScene(); + void updateLight(u8 light_at_pos); + v3s16 getLightPosition(); + void updateNodePos(); + + void step(float dtime, ClientEnvironment *env); + + void processMessage(const std::string &data); + + void initialize(const std::string &data); + + core::aabbox3d<f32>* getSelectionBox() + {return &m_selection_box;} + v3f getPosition() + {return m_position;} + +private: + core::aabbox3d<f32> m_selection_box; + scene::IMeshSceneNode *m_node; + v3f m_position; +}; + #endif |