public AdventureScreen(Quinoa quinoa) { dtm = new DrawManager(); this.quinoa = quinoa; this.tileOffsetX = 0; this.tileOffsetY = 0; this.targetX = 0; this.targetY = 0; this.targetMaxDistance = 1; this.inventoryTargetX = 0; this.inventoryTargetY = 0; this.tradeTargetX = 0; this.tradeTargetY = 0; this.characterIndex = 0; this.targetY = 0; this.mapSelectAction = MapSelectAction.VERB; this.mode = AdventureScreenMode.MAP; this.lastHungerStatus = ""; this.verb = ItemVerb.NULL; this.verbItem = null; this.verbIndex = 0; this.tradeMonster = null; this.tradePageIsPlayer = true; this.regionCycleCounter = Quinoa.REGION_CYCLE_FREQUENCY; }
public void setMode(AdventureScreenMode newMode) { switch(newMode) { case AdventureScreenMode.MAP: this.mode = AdventureScreenMode.MAP; quinoa.getUI().refresh(); break; case AdventureScreenMode.HELP: this.mode = AdventureScreenMode.HELP; quinoa.getUI().refresh(); break; case AdventureScreenMode.DIALOG: this.mode = AdventureScreenMode.DIALOG; quinoa.getUI().refresh(); break; case AdventureScreenMode.MAP_SELECT: targetX = quinoa.getPlayer().x; targetY = quinoa.getPlayer().y; switch(quinoa.getPlayer().facing) { case Direction.N: if(targetY > 0) { targetY--; } break; case Direction.S: if(targetY < quinoa.getCurrentRegionHeader().getRegion().getHeight() - 2) { targetY++; } break; case Direction.W: if(targetX > 0) { targetX--; } break; case Direction.E: if(targetX < quinoa.getCurrentRegionHeader().getRegion().getWidth() - 2) { targetX++; } break; } this.mode = AdventureScreenMode.MAP_SELECT; quinoa.getMessageManager().addMessage("Press " + charToStr(ENTER_KEY) + " to select an area."); quinoa.getUI().refresh(); break; case AdventureScreenMode.INVENTORY: this.mode = AdventureScreenMode.INVENTORY; this.inventoryTargetX = 0; this.inventoryTargetY = 0; quinoa.getUI().refresh(); break; case AdventureScreenMode.CHARACTER: this.mode = AdventureScreenMode.CHARACTER; quinoa.getUI().refresh(); break; case AdventureScreenMode.VERB_PICK: this.mode = AdventureScreenMode.VERB_PICK; quinoa.getMessageManager().addMessage("Press " + charToStr(ENTER_KEY) + " select an action."); this.verb = ItemVerb.NULL; this.verbIndex = 0; quinoa.getUI().refresh(); break; case AdventureScreenMode.TRADE: this.tradeTargetX = 0; this.tradeTargetY = 0; this.tradePageIsPlayer = true; quinoa.getMessageManager().addMessage("Press " + charToStr(ENTER_KEY) + " to sell or buy the selected item."); quinoa.getMessageManager().addMessage("Press " + charToStr(EXIT_KEY) + " to stop trading."); this.mode = AdventureScreenMode.TRADE; quinoa.getUI().refresh(); break; } }