Something went wrong. Try again.
the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
Something went wrong. Try again.
2.3 kB · 110 lines
C++
at main
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110#include "stdafx.h"#include "EditBox.h"#include "..\Minecraft.World\SharedConstants.h"
EditBox::EditBox(Screen *screen, Font *font, int x, int y, int width, int height, const wstring& value){ // 4J - added initialisers maxLength = 0; frame = 0;
this->screen = screen; this->font = font; this->x = x; this->y = y; this->width = width; this->height = height; this->setValue(value);}
void EditBox::setValue(const wstring& value){ this->value = value;}
wstring EditBox::getValue(){ return value;}
void EditBox::tick(){ frame++;}
void EditBox::keyPressed(wchar_t ch, int eventKey){ if (!active || !inFocus) { return; }
if (ch == 9) { screen->tabPressed(); }/* 4J removed if (ch == 22) { String msg = Screen.getClipboard(); if (msg == null) msg = ""; int toAdd = 32 - value.length(); if (toAdd > msg.length()) toAdd = msg.length(); if (toAdd > 0) { value += msg.substring(0, toAdd); } } */
if (eventKey == Keyboard::KEY_BACK && value.length() > 0) { value = value.substr(0, value.length() - 1); } if (SharedConstants::acceptableLetters.find(ch) != wstring::npos && (value.length() < maxLength || maxLength == 0)) { value += ch; }
}
void EditBox::mouseClicked(int mouseX, int mouseY, int buttonNum){ bool newFocus = active && (mouseX >= x && mouseX < (x + width) && mouseY >= y && mouseY < (y + height)); focus(newFocus);}
void EditBox::focus(bool newFocus){ if (newFocus && !inFocus) { // reset the underscore counter to give quicker selection feedback frame = 0; } inFocus = newFocus;}
void EditBox::render(){ fill(x - 1, y - 1, x + width + 1, y + height + 1, 0xffa0a0a0); fill(x, y, x + width, y + height, 0xff000000);
if (active) { bool renderUnderscore = inFocus && (frame / 6 % 2 == 0); drawString(font, value + (renderUnderscore ? L"_" : L""), x + 4, y + (height - 8) / 2, 0xe0e0e0); } else { drawString(font, value, x + 4, y + (height - 8) / 2, 0x707070); }}
void EditBox::setMaxLength(int maxLength){ this->maxLength = maxLength;}
int EditBox::getMaxLength(){ return maxLength;}