diff options
author | Dennis Peeten <dpeeten@onsneteindhoven.nl> | 2008-05-06 08:20:40 (GMT) |
---|---|---|
committer | Dennis Peeten <dpeeten@onsneteindhoven.nl> | 2008-05-06 08:20:40 (GMT) |
commit | 90e452660d230c7dd181ee7c3fbc5b5a117ed937 (patch) | |
tree | a666b6f565a125f21a44c23e39fbb7d3d5412d3a /MatchBloxEngine/MatchBloxEngine/C_Block.cpp | |
parent | 0a92d39e9e8774d96a6277f51890ee6eb345b40b (diff) | |
download | 2iv55-90e452660d230c7dd181ee7c3fbc5b5a117ed937.zip 2iv55-90e452660d230c7dd181ee7c3fbc5b5a117ed937.tar.gz 2iv55-90e452660d230c7dd181ee7c3fbc5b5a117ed937.tar.bz2 |
Diffstat (limited to 'MatchBloxEngine/MatchBloxEngine/C_Block.cpp')
-rw-r--r-- | MatchBloxEngine/MatchBloxEngine/C_Block.cpp | 56 |
1 files changed, 35 insertions, 21 deletions
diff --git a/MatchBloxEngine/MatchBloxEngine/C_Block.cpp b/MatchBloxEngine/MatchBloxEngine/C_Block.cpp index 46d7621..4b2a9f7 100644 --- a/MatchBloxEngine/MatchBloxEngine/C_Block.cpp +++ b/MatchBloxEngine/MatchBloxEngine/C_Block.cpp @@ -1,49 +1,63 @@ -#include <GL\glut.h>
+#include <GL/glut.h>
+
+#include <iostream>
+
#include "C_Block.h"
#define FADE_DURATION 500
-C_Block::C_Block(char* f_strFileName)
-: C_3DObject(f_strFileName), m_CurrState(IDLE), m_uiAnimStart(0)
+/*Durations of animations*/
+unsigned int g_BlockAnimDurations[4] = {0, 500, 500, 500};
+
+C_Block::C_Block(const char* f_strFileName,
+ GLuint f_uiColorTex ,
+ MatProps_t f_Mat)
+: C_3DObject(f_strFileName, f_uiColorTex, f_Mat),
+ m_CurrState(BS_IDLE), m_uiAnimStart(0)
{
+
}
+C_Block::~C_Block()
+{
+
+}
-void C_Block::Draw(unsigned int f_iElapsedTime)
+void C_Block::Render(unsigned int f_iElapsedTime)
{
unsigned int l_uiDeltaTime = f_iElapsedTime - m_uiAnimStart;
double l_Scale = 0.0;
+ //check if the previous animation has ended in between
+ //calls to this Render function.
if (l_uiDeltaTime > g_BlockAnimDurations[(int)m_CurrState])
{
- m_CurrState = IDLE;
+ m_CurrState = BS_IDLE;
}
- glPushMatrix();
- TransRotateScale();
-
switch (m_CurrState)
{
- case FADE_IN:
- l_Scale = (double)l_uiDeltaTime / (double)g_BlockAnimDurations[FADE_IN];
- glScaled(l_Scale, l_Scale, l_Scale);
- C_3DObject::Draw();
+ case BS_FADE_IN:
+ l_Scale = (double)l_uiDeltaTime / (double)g_BlockAnimDurations[BS_FADE_IN];
+ //glScaled(l_Scale, l_Scale, l_Scale);
+ SetScale(l_Scale, l_Scale, l_Scale);
+ C_3DObject::Render();
break;
- case FADE_OUT:
- l_Scale = 1.0 - ((double)l_uiDeltaTime / (double)g_BlockAnimDurations[FADE_OUT]);
- glScaled(l_Scale, l_Scale, l_Scale);
- C_3DObject::Draw();
+ case BS_FADE_OUT:
+ l_Scale = 1.0 - ((double)l_uiDeltaTime / (double)g_BlockAnimDurations[BS_FADE_OUT]);
+// glScaled(l_Scale, l_Scale, l_Scale);
+ SetScale(l_Scale, l_Scale, l_Scale);
+ C_3DObject::Render();
break;
- case COLLIDE:
+ case BS_COLLIDE:
break;
- case IDLE:
+ case BS_IDLE:
default:
- C_3DObject::Draw();
+ C_3DObject::Render();
break;
}
- glPopMatrix();
-}
\ No newline at end of file +}
|