summaryrefslogtreecommitdiffstats
path: root/matchblox/engine/C_Box.h
blob: a5171358e12af00c87fcd63618a8c22fea26ba14 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#ifndef C_BOX_HEADER_FILE

#define C_BOX_HEADER_FILE

#include <GL/glut.h>
#include "C_3DObject.h"

class C_Box : public C_3DObject
{
public:
  C_Box(const char *f_strFileName,
        GLuint f_uiTexture,
        MatProps_t f_Mat,
        int f_iTilesX, int f_iTilesY,
        C_3DObject *f_pTiles[5]);

  ~C_Box();

  void RandomizeTiles();
  void Render(GLint f_iTexLocation);

private:
  C_3DObject **m_pTiles;  //the tile objects for the top face of the box (holes)
  int        m_iTilesX,   //number of tiles in x direction
             m_iTilesY,   //number of tiles in y direction
             m_iNumTiles; //total number of tiles
  double     m_dTileSize; //the width and height of a tile
  Vect3D_t   m_LowLeftTilePos; //center position of the lower leftmost
                               //tile (relative to the box its position)

  int *m_iTilesLayout;    //the indices of the tile objects
};

#endif //C_BOX_HEADER_FILE