From: Daniel H. <wik...@us...> - 2006-08-23 02:07:26
|
Update of /cvsroot/arianne/stendhal/src/games/stendhal/server In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv25623/src/games/stendhal/server Modified Files: StendhalRPAction.java StendhalRPRuleProcessor.java Log Message: made use of the fact that StendhalRPWorld is a Singleton Index: StendhalRPAction.java =================================================================== RCS file: /cvsroot/arianne/stendhal/src/games/stendhal/server/StendhalRPAction.java,v retrieving revision 1.122 retrieving revision 1.123 diff -C2 -d -r1.122 -r1.123 *** StendhalRPAction.java 22 Aug 2006 00:08:50 -0000 1.122 --- StendhalRPAction.java 23 Aug 2006 02:07:22 -0000 1.123 *************** *** 38,42 **** import marauroa.server.game.NoRPZoneException; import marauroa.server.game.RPServerManager; - import marauroa.server.game.RPWorld; import org.apache.log4j.Logger; --- 38,41 ---- *************** *** 50,65 **** private static RPServerManager rpman; ! /** the rule processor. it is not used at the moment */ ! @SuppressWarnings("unused") ! private static StendhalRPRuleProcessor rules; ! ! /** our world */ ! private static RPWorld world; ! ! public static void initialize(RPServerManager rpman, ! StendhalRPRuleProcessor rules, RPWorld world) { StendhalRPAction.rpman = rpman; - StendhalRPAction.rules = rules; - StendhalRPAction.world = world; } --- 49,54 ---- private static RPServerManager rpman; ! public static void initialize(RPServerManager rpman) { StendhalRPAction.rpman = rpman; } *************** *** 154,158 **** try { ! StendhalRPZone zone = (StendhalRPZone) world.getRPZone(source .getID()); if (!zone.has(target.getID()) || target.getHP() == 0) { --- 143,147 ---- try { ! StendhalRPZone zone = (StendhalRPZone) StendhalRPWorld.get().getRPZone(source .getID()); if (!zone.has(target.getID()) || target.getHP() == 0) { *************** *** 161,165 **** + zone.has(target.getID()) + ") or dead."); target.onAttack(source, false); ! world.modify(source); return false; --- 150,154 ---- + zone.has(target.getID()) + ") or dead."); target.onAttack(source, false); ! source.notifyWorldAboutChanges(); return false; *************** *** 228,233 **** source.put("damage", 0); } ! ! world.modify(source); return result; } else { --- 217,221 ---- source.put("damage", 0); } ! source.notifyWorldAboutChanges(); return result; } else { *************** *** 261,265 **** int dy = dir.getdy(); ! StendhalRPZone zone = (StendhalRPZone) world.getRPZone(entity .getID()); --- 249,253 ---- int dy = dir.getdy(); ! StendhalRPZone zone = (StendhalRPZone) StendhalRPWorld.get().getRPZone(entity .getID()); *************** *** 272,276 **** entity.setCollides(false); ! world.modify(entity); } else { if (entity instanceof Player) { --- 260,264 ---- entity.setCollides(false); ! entity.notifyWorldAboutChanges(); } else { if (entity instanceof Player) { *************** *** 280,284 **** Sheep sheep = null; if (player.hasSheep()) { ! sheep = (Sheep) world.get(player.getSheep()); } --- 268,272 ---- Sheep sheep = null; if (player.hasSheep()) { ! sheep = (Sheep) StendhalRPWorld.get().get(player.getSheep()); } *************** *** 290,294 **** decideChangeZone(player, x + dx, y + dy); player.stop(); ! world.modify(player); return; } --- 278,282 ---- decideChangeZone(player, x + dx, y + dy); player.stop(); ! player.notifyWorldAboutChanges(); return; } *************** *** 316,320 **** entity.stop(); ! world.modify(entity); } } finally { --- 304,308 ---- entity.stop(); ! entity.notifyWorldAboutChanges(); } } finally { *************** *** 327,331 **** Log4J.startMethod(logger, "transferContent"); ! StendhalRPZone zone = (StendhalRPZone) world.getRPZone(player.getID()); rpman.transferContent(player.getID(), zone.getContents()); --- 315,319 ---- Log4J.startMethod(logger, "transferContent"); ! StendhalRPZone zone = (StendhalRPZone) StendhalRPWorld.get().getRPZone(player.getID()); rpman.transferContent(player.getID(), zone.getContents()); *************** *** 337,341 **** // String zoneid = player.get("zoneid"); ! StendhalRPZone origin = (StendhalRPZone) world .getRPZone(player.getID()); int player_x = x + origin.getx(); --- 325,329 ---- // String zoneid = player.get("zoneid"); ! StendhalRPZone origin = (StendhalRPZone) StendhalRPWorld.get() .getRPZone(player.getID()); int player_x = x + origin.getx(); *************** *** 344,348 **** boolean found = false; ! for (IRPZone izone : world) { StendhalRPZone zone = (StendhalRPZone) izone; if (zone.isInterior() == false --- 332,336 ---- boolean found = false; ! for (IRPZone izone : StendhalRPWorld.get()) { StendhalRPZone zone = (StendhalRPZone) izone; if (zone.isInterior() == false *************** *** 388,392 **** } ! StendhalRPZone destZone = (StendhalRPZone) world .getRPZone(new IRPZone.ID(portal.getDestinationZone())); --- 376,380 ---- } ! StendhalRPZone destZone = (StendhalRPZone) StendhalRPWorld.get() .getRPZone(new IRPZone.ID(portal.getDestinationZone())); *************** *** 473,477 **** if (player.hasSheep()) { ! Sheep sheep = (Sheep) world.get(player.getSheep()); // Call placeat for the sheep on the same spot as the // player to ensure that there will be a path between the --- 461,465 ---- if (player.hasSheep()) { ! Sheep sheep = (Sheep) StendhalRPWorld.get().get(player.getSheep()); // Call placeat for the sheep on the same spot as the // player to ensure that there will be a path between the *************** *** 496,501 **** NoRPZoneException { Log4J.startMethod(logger, "changeZone"); ! rules.addGameEvent(player.getName(), "change zone", destination); player.clearPath(); --- 484,491 ---- NoRPZoneException { Log4J.startMethod(logger, "changeZone"); + + StendhalRPWorld world = StendhalRPWorld.get(); ! StendhalRPRuleProcessor.get().addGameEvent(player.getName(), "change zone", destination); player.clearPath(); *************** *** 559,565 **** */ public static void shout(String message) { ! for (Player p : rules.getPlayers()) { ! p.sendPrivateText(message); ! world.modify(p); } } --- 549,555 ---- */ public static void shout(String message) { ! for (Player player : StendhalRPRuleProcessor.get().getPlayers()) { ! player.sendPrivateText(message); ! player.notifyWorldAboutChanges(); } } Index: StendhalRPRuleProcessor.java =================================================================== RCS file: /cvsroot/arianne/stendhal/src/games/stendhal/server/StendhalRPRuleProcessor.java,v retrieving revision 1.181 retrieving revision 1.182 diff -C2 -d -r1.181 -r1.182 *** StendhalRPRuleProcessor.java 22 Aug 2006 03:17:22 -0000 1.181 --- StendhalRPRuleProcessor.java 23 Aug 2006 02:07:22 -0000 1.182 *************** *** 76,80 **** private RPServerManager rpman; - private StendhalRPWorld world; private List<Player> playersObject; private List<Player> playersObjectRmText; --- 76,79 ---- *************** *** 169,176 **** try { this.rpman = rpman; ! this.world = (StendhalRPWorld) world; ! StendhalRPAction.initialize(rpman, this, world); ! // Behaviours.initialize(rpman, this, world); ! Path.initialize(world); /* Initialize quests */ new StendhalQuestSystem(); --- 168,172 ---- try { this.rpman = rpman; ! StendhalRPAction.initialize(rpman); /* Initialize quests */ new StendhalQuestSystem(); *************** *** 332,336 **** RPAction.Status status = RPAction.Status.SUCCESS; try { ! Player player = (Player) world.get(id); String type = action.get("type"); ActionListener actionListener = actionsMap.get(type); --- 328,332 ---- RPAction.Status status = RPAction.Status.SUCCESS; try { ! Player player = (Player) StendhalRPWorld.get().get(id); String type = action.get("type"); ActionListener actionListener = actionsMap.get(type); *************** *** 360,364 **** creatures += point.size(); int objects = 0; ! for (IRPZone zone : world) objects += zone.size(); logger.debug("lists: G:" + plantGrowers.size() --- 356,360 ---- creatures += point.size(); int objects = 0; ! for (IRPZone zone : StendhalRPWorld.get()) objects += zone.size(); logger.debug("lists: G:" + plantGrowers.size() *************** *** 392,412 **** if (object.has("risk")) { object.remove("risk"); ! world.modify(object); } if (object.has("damage")) { object.remove("damage"); ! world.modify(object); } if (object.has("dead")) { object.remove("dead"); ! world.modify(object); } if (object.has("online")) { object.remove("online"); ! world.modify(object); } if (object.has("offline")) { object.remove("offline"); ! world.modify(object); } if (object.hasPath()) { --- 388,408 ---- if (object.has("risk")) { object.remove("risk"); ! object.notifyWorldAboutChanges(); } if (object.has("damage")) { object.remove("damage"); ! object.notifyWorldAboutChanges(); } if (object.has("dead")) { object.remove("dead"); ! object.notifyWorldAboutChanges(); } if (object.has("online")) { object.remove("online"); ! object.notifyWorldAboutChanges(); } if (object.has("offline")) { object.remove("offline"); ! object.notifyWorldAboutChanges(); } if (object.hasPath()) { *************** *** 415,419 **** object.clearPath(); } ! world.modify(object); } if (!object.stopped()) { --- 411,415 ---- object.clearPath(); } ! object.notifyWorldAboutChanges(); } if (!object.stopped()) { *************** *** 427,431 **** if (getTurn() % 180 == 0) { object.setAge(object.getAge() + 1); ! world.modify(object); } object.consume(getTurn()); --- 423,427 ---- if (getTurn() % 180 == 0) { object.setAge(object.getAge() + 1); ! object.notifyWorldAboutChanges(); } object.consume(getTurn()); *************** *** 441,449 **** if (object.has("text")) { object.remove("text"); ! world.modify(object); } if (object.has("private_text")) { object.remove("private_text"); ! world.modify(object); } } --- 437,445 ---- if (object.has("text")) { object.remove("text"); ! object.notifyWorldAboutChanges(); } if (object.has("private_text")) { object.remove("private_text"); ! object.notifyWorldAboutChanges(); } } |