Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- kkpackage com.battleos;
- import java.awt.Toolkit;
- import java.awt.event.KeyEvent;
- /**
- * Handles all the login screen components.
- *
- * @author Daniel
- *
- */
- public class LoginRenderer {
- /**
- * Client instance.
- */
- private final Client client;
- /**
- * The current state of login screen.
- */
- private int state;
- /**
- * The current state of login screen.
- */
- private int world;
- /**
- * Login Renderer Constructor.
- *
- * @param client
- */
- public LoginRenderer(Client client) {
- this.client = client;
- client.loginMessage1 = "Welcome to Battle-OS!";
- client.loginMessage2 = "Please enter your username and password.";
- setState(0);
- setWorld(0);
- }
- /**
- * Draws the login elements to the screen.
- */
- public void display() {
- if (Client.loginScreenIP == null) {
- // creates the image producer if it doesn't exist to avoid null
- // pointers.
- Client.loginScreenIP = new ImageProducer(765, 503);
- // clears the image
- Raster.reset();
- }
- int centerX = Client.frameWidth / 2, centerY = Client.frameHeight / 2;
- client.refreshFrameSize();
- // Displays Images
- displayImage();
- // Main screen
- if (getState() == 0) {
- Client.cacheSprite[57].drawARGBSprite((Client.frameWidth / 2) - (Client.cacheSprite[57].width / 2) + 191, (Client.frameHeight / 2) - (Client.cacheSprite[57].height / 2));
- // Capes Lock
- if (Toolkit.getDefaultToolkit().getLockingKeyState(KeyEvent.VK_CAPS_LOCK)) {
- client.newBoldFont.drawRAString("Caps lock enabled!", 345 + 290, 330 - 50, 0xE3BA14, 10);
- }
- // Display Accounts
- displayAccounts();
- // Login Messges
- if (client.loginMessage2.length() == 0) {
- client.smallFont.method382(0xB0AFAB, centerX + 190, client.loginMessage1, centerY + 60, true);
- } else {
- client.smallFont.method382(0xB0AFAB, centerX + 190, client.loginMessage1, centerY + 50, true);
- client.smallFont.method382(0xB0AFAB, centerX + 190, client.loginMessage2, centerY + 65, true);
- }
- // Main Texts
- client.newBoldFont.drawRAString("Username:", 530, 100, 0xFFFFFF, 10);
- client.newBoldFont.drawRAString("Password:", 530, 185, 0xFFFFFF, 10);
- client.newBoldFont.drawRAString("Accounts:", 530, 395, 0xFFFFFF, 10);
- // Username
- client.regularText.method389(true, centerX + 80, 0xFFFFFF, Utility.formatName(client.myUsername) + ((client.loginScreenCursorPos == 0) & (Client.tick % 40 < 20) ? "|" : ""), centerY - 105);
- // Password
- client.regularText.method389(true, centerX + 80, 0xFFFFFF, StringUtils.passwordAsterisks(client.myPassword) + ((client.loginScreenCursorPos == 1) & (Client.tick % 40 < 20) ? "|" : ""), centerY - 27);
- // Login Hover
- if (client.mouseInRegion(centerX + 68, centerY + 76, centerX + 307, centerY + 113)) {
- Client.cacheSprite[179].drawSprite(451, 331, 46);
- }
- // Username Hover
- if (client.mouseInRegion(centerX + 75, centerY - 133, centerX + 305, centerY - 101)) {
- Client.cacheSprite[183].drawSprite(458, 150, 46);
- }
- // Password Hover
- if (client.mouseInRegion(centerX + 74, centerY - 60, centerX + 305, centerY - 27)) {
- Client.cacheSprite[191].drawSprite(457, 225, 46);
- }
- // Remember Me
- client.regularText.method382(0xFFFFFF, centerX + 175, "Remember credentials", centerY + 8, true);
- if (!Configuration.REMEMBER_ME) {
- if (client.mouseInRegion(centerX + 77, centerY - 4, centerX + 107, centerY + 7)) {
- Client.cacheSprite[188].drawSprite(458, 247, 46);
- } else {
- Client.cacheSprite[187].drawSprite(458, 247, 46);
- }
- } else {
- if (client.mouseInRegion(centerX + 77, centerY - 4, centerX + 107, centerY + 7)) {
- Client.cacheSprite[190].drawSprite(458, 247, 46);
- } else {
- Client.cacheSprite[189].drawSprite(458, 247, 46);
- }
- }
- // World
- client.smallFont.method382(0xFFFFFF, 722, "World Options:", 481, true);
- client.smallFont.method382(0xFFFFFF, 722, getWorld() == 0 ? "Main" : "Development", 493, true);
- if (client.mouseInRegion(centerX + 303, centerY + 212, centerX + 377, centerY + 245)) {
- Raster.drawAlphaPixels(685, 463, 75, 35, 0xAFC3C9, 50, true);
- } else {
- Raster.drawAlphaPixels(685, 463, 75, 35, 0xFFFFFF, 50, true);
- }
- } else {
- // World Selection
- Client.cacheSprite[178].drawARGBSprite((Client.frameWidth / 2) - (Client.cacheSprite[178].width / 2) + 191, (Client.frameHeight / 2) - (Client.cacheSprite[178].height / 2));
- // Back
- if (client.mouseInRegion(centerX + 70, centerY + 91, centerX + 305, centerY + 125)) {
- Client.cacheSprite[180].drawSprite(451, 340, 46);
- }
- // Economy
- if (client.mouseInRegion(centerX + 74, centerY - 128, centerX + 307, centerY - 56)) {
- Client.cacheSprite[181].drawSprite(456, 124, 46);
- }
- // Development
- if (client.mouseInRegion(centerX + 74, centerY - 55, centerX + 307, centerY - 8)) {
- Client.cacheSprite[182].drawSprite(456, 195, 46);
- }
- }
- // Client Version
- client.smallFont.method382(0xFFFFFF, centerX + 335, "Version: " + Configuration.CACHE_VERSION, centerY - 230, true);
- // Debug Message
- if (Configuration.DEBUG_MODE) {
- client.newSmallFont.drawBasicString("Debug Mode:", 10, 20);
- client.newSmallFont.drawBasicString("MouseX: " + (client.mouseX - (Client.frameWidth / 2)) + " Mouse Y: " + (client.mouseY - (Client.frameHeight / 2)), 10, 35);
- }
- // Draws the screen
- Client.loginScreenIP.drawGraphics(client.graphics, 0, 0);
- Raster.reset();
- }
- /**
- * Handles clicking in the loginscreen.
- */
- public void click() {
- int centerX = Client.frameWidth / 2, centerY = Client.frameHeight / 2;
- // Main screen
- if (getState() == 0) {
- // Remember Credentials
- if (client.lastMetaModifier == 1 && client.mouseInRegion(centerX + 77, centerY - 4, centerX + 107, centerY + 7)) {
- Configuration.REMEMBER_ME = !Configuration.REMEMBER_ME;
- }
- // World
- if (client.lastMetaModifier == 1 && client.mouseInRegion(centerX + 303, centerY + 212, centerX + 377, centerY + 245)) {
- setState(1);
- }
- // Username
- if (client.lastMetaModifier == 1 && client.mouseInRegion(centerX + 75, centerY - 133, centerX + 305, centerY - 101)) {// User
- client.loginScreenCursorPos = 0;
- }
- // Password
- if (client.lastMetaModifier == 1 && client.mouseInRegion(centerX + 74, centerY - 60, centerX + 305, centerY - 27)) {
- client.loginScreenCursorPos = 1;
- }
- // Accounts
- int yPos = centerY + 165;
- if (AccountManager.accounts != null) {
- for (int index = 0; index < AccountManager.getAccounts().size(); index++, yPos += 30) {
- AccountData accountData = AccountManager.getAccounts().get(index);
- if (client.lastMetaModifier == 1 && client.mouseInRegion(centerX + 71, yPos, centerX + 244, yPos + 20)) {
- if (accountData.username.length() > 0 && accountData.password.length() > 0) {
- if (client.myUsername != accountData.username || client.myPassword != accountData.password) {
- client.myUsername = accountData.username;
- client.myPassword = accountData.password;
- }
- client.login(accountData.username, accountData.password, false);
- if (Client.loggedIn) {
- return;
- }
- }
- }
- if (client.lastMetaModifier == 1 && client.mouseInRegion(centerX + 245, yPos, centerX + 300, yPos + 20)) {
- AccountManager.removeAccount(accountData);
- }
- }
- }
- // Login
- if (client.lastMetaModifier == 1 && client.mouseInRegion(centerX + 68, centerY + 76, centerX + 307, centerY + 113)) {
- client.login(client.myUsername, client.myPassword, false);
- if (Client.loggedIn) {
- return;
- }
- }
- do {
- int line = client.readChar(-796);
- if (line == -1) {
- break;
- }
- boolean flag1 = false;
- for (int i2 = 0; i2 < Client.validUserPassChars.length(); i2++) {
- if (line != Client.validUserPassChars.charAt(i2)) {
- continue;
- }
- flag1 = true;
- break;
- }
- if (client.loginScreenCursorPos == 0) {
- if (line == 8 && client.myUsername.length() > 0) {
- client.myUsername = client.myUsername.substring(0, client.myUsername.length() - 1);
- }
- if (line == 9 || line == 10 || line == 13) {
- client.loginScreenCursorPos = 1;
- }
- if (flag1) {
- client.myUsername += (char) line;
- }
- if (client.myUsername.length() > 12) {
- client.myUsername = client.myUsername.substring(0, 12);
- }
- } else if (client.loginScreenCursorPos == 1) {
- if (line == 8 && client.myPassword.length() > 0) {
- client.myPassword = client.myPassword.substring(0, client.myPassword.length() - 1);
- }
- if (line == 9 || line == 10 || line == 13) {
- client.login(client.myUsername, client.myPassword, false);
- }
- if (flag1) {
- client.myPassword += (char) line;
- }
- if (client.myPassword.length() > 20) {
- client.myPassword = client.myPassword.substring(0, 20);
- }
- }
- } while (true);
- return;
- } else {
- // World Selection
- // Back
- if (client.lastMetaModifier == 1 && client.mouseInRegion(centerX + 70, centerY + 91, centerX + 305, centerY + 125)) {
- setState(0);
- }
- // Economy
- if (client.lastMetaModifier == 1 && client.mouseInRegion(centerX + 74, centerY - 128, centerX + 307, centerY - 56)) {
- Client.server = Configuration.SERVER_IP;
- setWorld(0);
- setState(0);
- }
- // Development
- if (client.lastMetaModifier == 1 && client.mouseInRegion(centerX + 74, centerY - 55, centerX + 307, centerY - 8)) {
- Client.server = "127.0.0.1";
- setWorld(1);
- setState(0);
- }
- }
- }
- /**
- * Displays all player's accounts.
- */
- private void displayAccounts() {
- final int centerX = Client.frameWidth / 2, centerY = Client.frameHeight / 2;
- int yPos = centerY + 165;
- if (AccountManager.accounts != null) {
- for (int index = 0; index < 3; index++, yPos += 30) {
- if (index >= AccountManager.getAccounts().size()) {
- break;
- }
- Client.cacheSprite[184].drawARGBSprite(centerX + 70, yPos);
- if (client.mouseInRegion(centerX + 71, yPos, centerX + 244, yPos + 20)) {
- Client.cacheSprite[185].drawSprite(centerX + 70, yPos);
- }
- if (client.mouseInRegion(centerX + 245, yPos, centerX + 300, yPos + 20)) {
- Client.cacheSprite[186].drawSprite(centerX + 70, yPos);
- }
- AccountData accountData = AccountManager.getAccounts().get(index);
- if (accountData != null) {
- int rights = accountData.rank - 1;
- client.newSmallFont.drawCenteredString((rights != -1 ? "<img=" + rights + "> " : "") + Utility.formatName(accountData.username), centerX + 158, yPos + 16, 0xFFFFFF, 0);
- client.smallFont.method382(0xF01313, centerX + 272, "Delete", yPos + 16, true);
- }
- }
- }
- }
- /**
- * Ticks for sliding images
- */
- private int ticks = 0;
- /**
- * Idle time for sliding images.
- */
- private int idle = 0;
- /**
- * Scroll for sliding images.
- */
- private double scroll = 0;
- /**
- * Display sliding images.
- */
- private void displayImage() {
- int time = 150;
- Sprite sprite;
- Sprite sprite2;
- if (ticks == 0) {
- sprite = Client.cacheSprite[58];
- sprite2 = Client.cacheSprite[59];
- } else if (ticks == 1) {
- sprite = Client.cacheSprite[59];
- sprite2 = Client.cacheSprite[60];
- } else if (ticks == 2) {
- sprite = Client.cacheSprite[60];
- sprite2 = Client.cacheSprite[61];
- } else if (ticks == 3) {
- sprite = Client.cacheSprite[61];
- sprite2 = Client.cacheSprite[58];
- } else {
- sprite = Client.cacheSprite[58];
- sprite2 = Client.cacheSprite[59];
- ticks = 0;
- }
- sprite2.drawARGBSprite((Client.frameWidth / 2) - (int) scroll, (Client.frameHeight / 2) - (sprite2.height / 2));
- sprite.drawARGBSprite((Client.frameWidth / 2) - (sprite.width / 2) - 191 - (int) scroll, (Client.frameHeight / 2) - (sprite.height / 2));
- if (idle++ >= time) {
- scroll += 10;
- }
- if (scroll > 0) {
- if (scroll >= 382) {
- scroll = 0;
- idle = 0;
- ticks++;
- }
- }
- }
- /** Setters & Getters */
- public int getState() {
- return state;
- }
- public void setState(int state) {
- this.state = state;
- }
- public int getWorld() {
- return world;
- }
- public void setWorld(int world) {
- this.world = world;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement