dungeon_crawler
annotate prototype/src/tile.h @ 7:8fb37db44fd8
first person motion
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Fri, 17 Aug 2012 14:29:37 +0300 |
parents | 252a00508411 |
children | e5567ddbf2ef |
rev | line source |
---|---|
nuclear@1 | 1 #ifndef TILE_H_ |
nuclear@1 | 2 #define TILE_H_ |
nuclear@1 | 3 |
nuclear@2 | 4 #include <vector> |
nuclear@7 | 5 #include <map> |
nuclear@7 | 6 #include <assimp/scene.h> |
nuclear@2 | 7 #include "mesh.h" |
nuclear@4 | 8 #include "light.h" |
nuclear@2 | 9 |
nuclear@3 | 10 enum { |
nuclear@3 | 11 TILE_NORTH = 1, |
nuclear@3 | 12 TILE_SOUTH = 2, |
nuclear@3 | 13 TILE_EAST = 4, |
nuclear@3 | 14 TILE_WEST = 8, |
nuclear@7 | 15 TILE_ALL = 0xffff |
nuclear@3 | 16 }; |
nuclear@3 | 17 |
nuclear@1 | 18 class Tile { |
nuclear@2 | 19 private: |
nuclear@2 | 20 std::vector<Mesh*> meshes; |
nuclear@4 | 21 std::vector<unsigned int> mesh_side; |
nuclear@3 | 22 std::vector<Light*> lights; |
nuclear@2 | 23 |
nuclear@4 | 24 int load_lights(const aiScene *scn); |
nuclear@7 | 25 int load_meshes(const aiScene *scn, const std::map<aiMesh*, aiNode*> &nmap); |
nuclear@4 | 26 |
nuclear@1 | 27 public: |
nuclear@1 | 28 bool load(const char *fname); |
nuclear@1 | 29 |
nuclear@3 | 30 void draw(unsigned int drawmask) const; |
nuclear@1 | 31 }; |
nuclear@1 | 32 |
nuclear@5 | 33 |
nuclear@1 | 34 #endif // TILE_H_ |