aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/InBedChatScreen.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Minecraft.Client/InBedChatScreen.cpp')
-rw-r--r--Minecraft.Client/InBedChatScreen.cpp70
1 files changed, 70 insertions, 0 deletions
diff --git a/Minecraft.Client/InBedChatScreen.cpp b/Minecraft.Client/InBedChatScreen.cpp
new file mode 100644
index 00000000..fca3d022
--- /dev/null
+++ b/Minecraft.Client/InBedChatScreen.cpp
@@ -0,0 +1,70 @@
+#include "stdafx.h"
+#include "InBedChatScreen.h"
+#include "Button.h"
+#include "MultiplayerLocalPlayer.h"
+#include "..\Minecraft.World\net.minecraft.locale.h"
+#include "..\Minecraft.World\StringHelpers.h"
+
+void InBedChatScreen::init()
+{
+ Keyboard::enableRepeatEvents(true);
+
+ Language *language = Language::getInstance();
+
+ buttons.push_back(new Button(WAKE_UP_BUTTON, width / 2 - 100, height - 40, language->getElement(L"multiplayer.stopSleeping")));
+
+}
+
+void InBedChatScreen::removed()
+{
+ Keyboard::enableRepeatEvents(false);
+}
+
+void InBedChatScreen::keyPressed(wchar_t ch, int eventKey)
+{
+ if (eventKey == Keyboard::KEY_ESCAPE)
+ {
+ sendWakeUp();
+ }
+ else if (eventKey == Keyboard::KEY_RETURN)
+ {
+ wstring msg = trimString(message);
+ if (msg.length() > 0)
+ {
+ minecraft->player->chat(trimString(message));
+ }
+ message = L"";
+ }
+ else
+ {
+ ChatScreen::keyPressed(ch, eventKey);
+ }
+}
+
+void InBedChatScreen::render(int xm, int ym, float a)
+{
+ ChatScreen::render(xm, ym, a);
+}
+
+void InBedChatScreen::buttonClicked(Button *button)
+{
+ if (button->id == WAKE_UP_BUTTON)
+ {
+ sendWakeUp();
+ }
+ else
+ {
+ ChatScreen::buttonClicked(button);
+ }
+}
+
+void InBedChatScreen::sendWakeUp()
+{
+ /* 4J - TODO
+ if (minecraft.player instanceof MultiplayerLocalPlayer)
+ {
+ ClientConnection connection = ((MultiplayerLocalPlayer) minecraft.player).connection;
+ connection.send(new PlayerCommandPacket(minecraft.player, PlayerCommandPacket.STOP_SLEEPING));
+ }
+ */
+} \ No newline at end of file