ajout countdown + display

t = reset countdown
g = stop countdown
This commit is contained in:
Frederic Leger
2023-09-23 17:15:35 -04:00
parent 9aa426b804
commit 703b432fb7
3 changed files with 40 additions and 3 deletions

View File

@@ -120,7 +120,7 @@ void Engine::DisplayCrosshair() {
void Engine::DisplayCurrentItem() {
}
void Engine::DisplayHud() {
void Engine::DisplayHud(int timer) {
glBindTexture(GL_TEXTURE_2D, 0);
glLoadIdentity();
glDisable(GL_BLEND);
@@ -186,6 +186,13 @@ void Engine::DisplayHud() {
std::ostringstream ss;
ss << m_player.GetUsername();
PrintText(fPosX, fPosY, scale, ss.str());
//Countdown
ss.str("");
ss << "Time: " << (int)(timer / 60) << ":" << std::setw(2) << std::setfill('0') << timer % 60;
PrintText(Width() - Width() * 0.15, Height() - (Height() / 19.2), scale, ss.str());
}
void Engine::DisplayInfo(float elapsedTime, BlockType bloc) {
@@ -240,13 +247,14 @@ void Engine::DrawHud(float elapsedTime, BlockType bloc) {
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
int timer = GetCountdown(elapsedTime);
if (m_displayInfo) {
DisplayInfo(elapsedTime, bloc);
}
if (m_displayHud) {
DisplayHud();
DisplayHud(timer);
}
if (m_displayCrosshair) {
@@ -295,6 +303,16 @@ float Engine::GetScale() const {
}
int Engine::GetFps(float elapsedTime) const { return 1 / elapsedTime; }
int Engine::GetCountdown(float elapsedTime) {
if (m_resetcountdown)
{
m_countdown = m_time + COUNTDOWN;
m_resetcountdown = false;
}
if(!m_stopcountdown)
m_time += elapsedTime;
return m_countdown - (int)m_time;
}
void Engine::Render(float elapsedTime) {
//static float gameTime = elapsedTime;
@@ -424,6 +442,8 @@ void Engine::KeyPressEvent(unsigned char key) {
break;
case 5: // F - Ignorer
break;
case 6: // G - Ignorer
break;
case 12: // M - Ignorer
break;
case 7: // H - Ignorer
@@ -432,6 +452,8 @@ void Engine::KeyPressEvent(unsigned char key) {
break;
case 17: // R - Ignorer
break;
case 19: // T - Ignorer
break;
case 24: // Y - Ignorer
break;
case 255: // Fn - Ignorer
@@ -456,6 +478,10 @@ void Engine::KeyReleaseEvent(unsigned char key) {
case 5: // F - Toggle flash
m_flash = !m_flash;
break;
case 6: // G - Toggle Stop Countdown
m_stopcountdown = !m_stopcountdown;
std::cout << "STOP COUNTDOWN " << (m_stopcountdown ? "enabled" : "disabled") << std::endl;
break;
case 7: // H - Toggle HUD
m_displayHud = !m_displayHud;
std::cout << "DISPLAY HUD " << (m_displayHud ? "enabled" : "disabled") << std::endl;
@@ -473,6 +499,10 @@ void Engine::KeyReleaseEvent(unsigned char key) {
case 18: // S - Stop reculer
m_keyS = false;
break;
case 19: // T -Reset countdown
m_resetcountdown = true;
std::cout << "RESET COUNTDOWN" << std::endl;
break;
case 22: // W - Stop avancer
m_keyW = false;
break;