]> git.lizzy.rs Git - dragonblocks3d.git/blob - src/local_entity.hpp
New structure
[dragonblocks3d.git] / src / local_entity.hpp
1 #pragma once
2
3 #include "async_mgr.hpp"
4 #include "entity.hpp"
5 #include "gl.hpp"
6 #include "tile_def.hpp"
7
8 namespace dragonblocks
9 {
10         class Map;
11         class Mesh;
12         class Scene;
13         class ShaderProgram;
14         
15         class LocalEntity : public IEntity
16         {
17                 public:
18                 void setPos(glm::vec3);
19                 glm::vec3 getPos();
20                 void setSize(glm::vec3);
21                 glm::vec3 getSize();
22                 void setRotationAxis(glm::vec3);
23                 glm::vec3 getRotationAxis();
24                 void setRotationAngle(double);
25                 double getRotationAngle();
26                 void setVisible(bool);
27                 bool isVisible();
28                 void step(double);
29                 
30                 LocalEntity(Map *, Scene *, const TileDef &, ShaderProgram *);
31                 ~LocalEntity();
32                 
33                 protected:
34                 TileDef tile_def;
35                 Mesh *mesh;
36         };
37 }