private int getGreatestDirection(KeyHandler keyHandler) { int greatest = 0; int time = keyHandler.getUpTime(); if (keyHandler.getDownTime() > time) { greatest = 1; time = keyHandler.getDownTime(); } if (keyHandler.getRightTime() > time) { greatest = 2; time = keyHandler.getRightTime(); } if (keyHandler.getLeftTime() > time) { greatest = 3; time = keyHandler.getLeftTime(); } if (time == 0) { return -1; } else { //Console.WriteLine("Greatest: " + greatest); return greatest; } }
public void continueChatWindow(GameInit gameInit, KeyHandler keyHandler) { chatCounter++; if (chatCounter > CHAT_THRESHOLD) { if (keyHandler.isActionReady()) { chatObject.advanceMessage(gameInit); if (!chatObject.showChatWindow()) { chatWindow = false; gameInit.getFreeRoamState().setChatWindow(false); } else { chatObject.talk(gameInit); } if (chatObject.giveItem()) { chatObject.noItem(); } } else if (keyHandler.isBackReady()) { chatObject.backAdvanceMessage(gameInit); if (!chatObject.showChatWindow()) { chatWindow = false; gameInit.getFreeRoamState().setChatWindow(false); } else { chatObject.talk(gameInit); } if (chatObject.giveItem()) { chatObject.noItem(); } } else if (keyHandler.getUpTime() >= keyHandler.getDownTime()) { if (keyHandler.getUpTime() >= 3) { chatObject.moveUpOptionIndex(gameInit); } } else if (keyHandler.getDownTime() >= 3) { chatObject.moveDownOptionIndex(gameInit); } } else { if (keyHandler.getUpTime() >= keyHandler.getDownTime()) { if (keyHandler.getUpTime() >= 3) { chatObject.moveUpOptionIndex(gameInit); } } else if (keyHandler.getDownTime() >= 3) { chatObject.moveDownOptionIndex(gameInit); } } }
public bool checkMove(GameInit gameInit, KeyHandler keyHandler, ContentHandler content) { int direction = getGreatestDirection(keyHandler); if (direction == 0) { gameInit.getParty().getPartyMembers()[0].setFacingDirection(0); if (keyHandler.getUpTime() < TURN_THRESHOLD) { return false; } else { if (checkHeight(gameInit, -1, 0) && checkAvailability(gameInit, -1, 0)) { return true; } else { return false; } } } else if (direction == 1) { gameInit.getParty().getPartyMembers()[0].setFacingDirection(1); if (keyHandler.getDownTime() < TURN_THRESHOLD) { return false; } else { if (checkHeight(gameInit, 1, 0) && checkAvailability(gameInit, 1, 0)) { return true; } else { return false; } } } else if (direction == 2) { gameInit.getParty().getPartyMembers()[0].setFacingDirection(2); if (keyHandler.getRightTime() < TURN_THRESHOLD) { return false; } else { if (checkHeight(gameInit, 0, -1) && checkAvailability(gameInit, 0, -1)) { return true; } else { return false; } } } else if (direction == 3) { gameInit.getParty().getPartyMembers()[0].setFacingDirection(3); if (keyHandler.getLeftTime() < TURN_THRESHOLD) { return false; } else { if (checkHeight(gameInit, 0, 1) && checkAvailability(gameInit, 0, 1)) { return true; } else { return false; } } } else { return false; } }