Files
mcpe/source/client/gui/screens/DeathScreen.cpp

59 lines
1.3 KiB
C++

#include "DeathScreen.hpp"
DeathScreen::DeathScreen() :
m_btnRespawn(1, "Respawn!"),
m_btnTitle (2, "Main menu")
{
m_tickCounter = 0;
}
void DeathScreen::onInit()
{
m_btnRespawn.m_width = m_btnTitle.m_width = m_width / 4;
m_btnRespawn.m_xPos = m_width / 2 - 10 - m_btnRespawn.m_width;
m_btnTitle.m_xPos = m_width / 2 + 10;
m_btnRespawn.m_yPos = m_btnTitle.m_yPos = m_height / 2;
m_buttons.push_back(&m_btnRespawn);
m_buttons.push_back(&m_btnTitle);
m_buttonTabList.push_back(&m_btnRespawn);
m_buttonTabList.push_back(&m_btnTitle);
}
void DeathScreen::buttonClicked(Button* pButton)
{
if (pButton->m_buttonId == m_btnRespawn.m_buttonId)
{
m_pMinecraft->m_pLocalPlayer->respawn();
m_pMinecraft->setScreen(nullptr);
}
if (pButton->m_buttonId == m_btnTitle.m_buttonId)
{
m_pMinecraft->leaveGame(false);
}
}
void DeathScreen::onTick()
{
m_tickCounter++;
}
void DeathScreen::keyPressed(int key)
{
}
void DeathScreen::onRender(int x, int y, float f)
{
fillGradient(0, 0, m_width, m_height, 0xA0303080, 0x60000050);
glPushMatrix();
glScalef(2.0f, 2.0f, 2.0f);
drawCenteredString(m_pFont, "You died!", m_width / 4, m_height / 8, 0xFFFFFF);
glPopMatrix();
// render the buttons after 1.5 seconds
if (m_tickCounter >= 30)
Screen::onRender(x, y, f);
}