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 setMapSelectAction(MapSelectAction msa)
 {
     this.mapSelectAction = msa;
 }
 public void doUseItem(Item item)
 {
     if(item != null)
     {
         List<ItemVerb> itemVerbs = ItemManager.getVerbs(item);
         if(itemVerbs.Count == 0)
         {
             //do nothing
         }
         else if(itemVerbs.Count == 1)
         {
             verbIndex = 0;
             verb = itemVerbs[verbIndex];
             verbItem = item;
             targetMaxDistance = ItemManager.verbDistance(verb);
             if(targetMaxDistance > 0)
             {
                 this.mapSelectAction = MapSelectAction.VERB;
                 this.setMapSelectMaxDistance(targetMaxDistance);
                 this.setMode(AdventureScreenMode.MAP_SELECT);
                 quinoa.getUI().refresh();
             }
             else
             {
                 MonsterActionManager.setItemVerbCommand(quinoa.getPlayer(), verbItem, verb, 0, 0);
                 this.setMode(AdventureScreenMode.MAP);
                 quinoa.getUI().refresh();
                 quinoa.cycle();
             }
         }
         else if(itemVerbs.Count > 1)
         {
             verbItem = item;
             this.setMode(AdventureScreenMode.VERB_PICK);
             quinoa.getUI().refresh();
         }
     }
 }
 public void processKeyVerbPick(char key, bool shift, bool alt)
 {
     if(key == AdventureScreen.ENTER_KEY)
     {
         List<ItemVerb> itemVerbs = ItemManager.getVerbs(verbItem);
         verb = itemVerbs[verbIndex];
         this.targetMaxDistance = ItemManager.verbDistance(verb);
         if(targetMaxDistance > 0)
         {
             this.mapSelectAction = MapSelectAction.VERB;
             this.setMapSelectMaxDistance(targetMaxDistance);
             this.setMode(AdventureScreenMode.MAP_SELECT);
             quinoa.getUI().refresh();
         }
         else
         {
             MonsterActionManager.setItemVerbCommand(quinoa.getPlayer(), verbItem, verb, quinoa.getPlayer().x, quinoa.getPlayer().y);
             this.setMode(AdventureScreenMode.MAP);
             quinoa.getUI().refresh();
             quinoa.cycle();
         }
     }
     else if (key == AdventureScreen.UP_KEY)
     {
         if(verbIndex > 0)
         {
             verbIndex--;
         }
         quinoa.getUI().refresh();
     }
     else if (key == AdventureScreen.DOWN_KEY)
     {
         List<ItemVerb> itemVerbs = ItemManager.getVerbs(verbItem);
         if(verbIndex < itemVerbs.Count - 1)
         {
             verbIndex++;
         }
         quinoa.getUI().refresh();
     }
 }