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; }