public void checkTransitions(Player player, ZoneFactory zoneFactory)
 {
     Point startingPoint = new Point(player.getGlobalLocation().X, player.getGlobalLocation().Y);
     int transNum = isTransition(startingPoint, player, zoneFactory.getCurrentZone());
     if (transNum != 0)
     {
         transitionZones(player, zoneFactory, zoneFactory.getCurrentZone().getZoneNumber(), transNum);
     }
 }
 private void testCaveTransition(Player player, ZoneFactory zoneFactory, int transitionNumber)
 {
     Console.WriteLine(transitionNumber);
     switch (transitionNumber)
     {
         case 1:
             Zone currentZone = zoneFactory.getCurrentZone();
             zoneFactory.setCurrentZone(currentZone.getTransitionZones()[0]);
             player.setGlobalLocation(currentZone.getTransitionPoints()[0].X, currentZone.getTransitionPoints()[0].Y);
             break;
         default:
             break;
     }
 }
 private void transitionZones(Player player, ZoneFactory zoneFactory, int zoneNumber, int transitionNumber)
 {
     switch (zoneNumber)
     {
         case -1:
             testZoneTransition(player, zoneFactory, transitionNumber);
             break;
         case -2:
             testCaveTransition(player, zoneFactory, transitionNumber);
             break;
         default:
             Console.WriteLine("default");
             break;
     }
 }
 private int isTransition(Point start, Player player, Zone currentZone)
 {
     for (int i = 0; i < 30; i++)
     {
         for (int j = 0; j < 30; j++)
         {
             int transNum = currentZone.getTransitionMap()[player.getCurrentZoneLevel()].getTransitionMap()[start.Y + i, start.X + j];
             if (transNum != 0)
             {
                 return transNum;
             }
         }
     }
     return 0;
 }