smartcmd-MinecraftConsoles/Minecraft.Client/ChatScreen.h

37 lines
796 B
C
Raw Normal View History

2026-03-01 12:16:08 +08:00
#pragma once
#include "Screen.h"
#include <vector>
2026-03-01 12:16:08 +08:00
using namespace std;
class ChatScreen : public Screen
{
protected:
wstring message;
int cursorIndex;
void applyHistoryMessage();
2026-03-01 12:16:08 +08:00
private:
int frame;
static const size_t CHAT_HISTORY_MAX = 100;
static std::vector<wstring> s_chatHistory;
static int s_historyIndex;
static wstring s_historyDraft;
static const wstring allowedChars;
static bool isAllowedChatChar(wchar_t c);
2026-03-01 12:16:08 +08:00
public:
ChatScreen();
2026-03-01 12:16:08 +08:00
virtual void init();
virtual void removed();
virtual void tick();
virtual void handlePasteRequest();
virtual void handleHistoryUp();
virtual void handleHistoryDown();
2026-03-01 12:16:08 +08:00
protected:
void keyPressed(wchar_t ch, int eventKey);
public:
void render(int xm, int ym, float a);
protected:
void mouseClicked(int x, int y, int buttonNum);
};