mirror of
https://gitea.sffempire.ru/Kolyah35/minecraft-pe-0.6.1.git
synced 2026-03-20 15:03:32 +00:00
84 lines
1.8 KiB
C++
Executable File
84 lines
1.8 KiB
C++
Executable File
#include "DeathScreen.h"
|
|
#include "ScreenChooser.h"
|
|
#include "../components/Button.h"
|
|
#include "../../Minecraft.h"
|
|
#include "../../player/LocalPlayer.h"
|
|
#include "../../../platform/time.h"
|
|
|
|
static const int WAIT_TICKS = 30;
|
|
|
|
DeathScreen::DeathScreen()
|
|
: bRespawn(0),
|
|
bTitle(0),
|
|
_hasChosen(false),
|
|
_tick(0)
|
|
{
|
|
}
|
|
|
|
DeathScreen::~DeathScreen()
|
|
{
|
|
delete bRespawn;
|
|
delete bTitle;
|
|
}
|
|
|
|
void DeathScreen::init()
|
|
{
|
|
if (minecraft->useTouchscreen()) {
|
|
bRespawn = new Touch::TButton(1, "Respawn!");
|
|
bTitle = new Touch::TButton(2, "Main menu");
|
|
} else {
|
|
bRespawn = new Button(1, "Respawn!");
|
|
bTitle = new Button(2, "Main menu");
|
|
}
|
|
buttons.push_back(bRespawn);
|
|
buttons.push_back(bTitle);
|
|
|
|
tabButtons.push_back(bRespawn);
|
|
tabButtons.push_back(bTitle);
|
|
}
|
|
|
|
void DeathScreen::setupPositions()
|
|
{
|
|
bRespawn->width = bTitle->width = width / 4;
|
|
|
|
bRespawn->y = bTitle->y = height / 2;
|
|
bRespawn->x = width/2 - bRespawn->width - 10;
|
|
bTitle->x = width/2 + 10;
|
|
|
|
LOGI("xyz: %d, %d (%d, %d)\n", bTitle->x, bTitle->y, width, height);
|
|
}
|
|
|
|
void DeathScreen::tick() {
|
|
++_tick;
|
|
}
|
|
|
|
void DeathScreen::render( int xm, int ym, float a )
|
|
{
|
|
fillGradient(0, 0, width, height, 0x60500000, 0xa0803030);
|
|
|
|
glPushMatrix2();
|
|
glScalef2(2, 2, 2);
|
|
drawCenteredString(font, "You died!", width / 2 / 2, height / 8, 0xffffff);
|
|
glPopMatrix2();
|
|
|
|
if (_tick >= WAIT_TICKS)
|
|
Screen::render(xm, ym, a);
|
|
}
|
|
|
|
void DeathScreen::buttonClicked( Button* button )
|
|
{
|
|
if (_tick < WAIT_TICKS) return;
|
|
|
|
if (button == bRespawn) {
|
|
//RespawnPacket packet();
|
|
//minecraft->raknetInstance->send(packet);
|
|
|
|
minecraft->player->respawn();
|
|
//minecraft->raknetInstance->send();
|
|
minecraft->setScreen(NULL);
|
|
}
|
|
|
|
if (button == bTitle)
|
|
minecraft->leaveGame();
|
|
}
|