summaryrefslogtreecommitdiff
path: root/src/content_cao.h
diff options
context:
space:
mode:
authorPerttu Ahola <celeron55@gmail.com>2011-11-11 19:33:17 +0200
committerPerttu Ahola <celeron55@gmail.com>2011-11-29 19:13:38 +0200
commitbfc68d31510bbd40732c19ada51d4683cb050de2 (patch)
tree21ca37b09d78761ae59d84af096a8ff391838a89 /src/content_cao.h
parentee8b6d34447acab3ffb318dc8c070df890c1b810 (diff)
downloadminetest-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.h40
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