From: Astrid S. <ast...@us...> - 2008-01-22 22:41:26
|
Update of /cvsroot/arianne/stendhal/src/games/stendhal/server/entity/npc In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv7809/src/games/stendhal/server/entity/npc Modified Files: SpeakerNPC.java TeleporterBehaviour.java CroupierNPC.java ShopList.java Log Message: introducing Singleton repository as a first step out of singleton / test hell Index: ShopList.java =================================================================== RCS file: /cvsroot/arianne/stendhal/src/games/stendhal/server/entity/npc/ShopList.java,v retrieving revision 1.45 retrieving revision 1.46 diff -C2 -d -r1.45 -r1.46 *** ShopList.java 13 Jan 2008 20:54:54 -0000 1.45 --- ShopList.java 22 Jan 2008 22:25:29 -0000 1.46 *************** *** 1,4 **** --- 1,6 ---- package games.stendhal.server.entity.npc; + import games.stendhal.server.core.engine.SingletonRepository; + import java.util.HashMap; import java.util.LinkedHashMap; *************** *** 13,17 **** static { ! ShopList shops = get(); shops.add("food&drinks", "beer", 10); --- 15,19 ---- static { ! ShopList shops = SingletonRepository.getShopList(); shops.add("food&drinks", "beer", 10); Index: TeleporterBehaviour.java =================================================================== RCS file: /cvsroot/arianne/stendhal/src/games/stendhal/server/entity/npc/TeleporterBehaviour.java,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** TeleporterBehaviour.java 11 Jan 2008 16:59:31 -0000 1.26 --- TeleporterBehaviour.java 22 Jan 2008 22:25:29 -0000 1.27 *************** *** 4,11 **** import games.stendhal.common.Direction; import games.stendhal.common.Rand; import games.stendhal.server.core.engine.StendhalRPWorld; import games.stendhal.server.core.engine.StendhalRPZone; import games.stendhal.server.core.events.TurnListener; - import games.stendhal.server.core.events.TurnNotifier; import games.stendhal.server.core.pathfinder.FixedPath; import games.stendhal.server.core.pathfinder.Node; --- 4,11 ---- import games.stendhal.common.Direction; import games.stendhal.common.Rand; + import games.stendhal.server.core.engine.SingletonRepository; import games.stendhal.server.core.engine.StendhalRPWorld; import games.stendhal.server.core.engine.StendhalRPZone; import games.stendhal.server.core.events.TurnListener; import games.stendhal.server.core.pathfinder.FixedPath; import games.stendhal.server.core.pathfinder.Node; *************** *** 47,57 **** this.speakerNPC = speakerNPC; listZones(); ! TurnNotifier.get().notifyInTurns(60, this); // say something every minute so that can be noticed more easily ! TurnNotifier.get().notifyInTurns(60, new TurnListener() { public void onTurnReached(int currentTurn) { speakerNPC.say(repeatedText); ! TurnNotifier.get().notifyInTurns(60 * 3, this); } }); --- 47,57 ---- this.speakerNPC = speakerNPC; listZones(); ! SingletonRepository.getTurnNotifier().notifyInTurns(60, this); // say something every minute so that can be noticed more easily ! SingletonRepository.getTurnNotifier().notifyInTurns(60, new TurnListener() { public void onTurnReached(int currentTurn) { speakerNPC.say(repeatedText); ! SingletonRepository.getTurnNotifier().notifyInTurns(60 * 3, this); } }); *************** *** 77,81 **** private void addHighProbability() { ! StendhalRPWorld world = StendhalRPWorld.get(); for (int i = 0; i < 10; i++) { zones.add(world.getZone("0_semos_city")); --- 77,81 ---- private void addHighProbability() { ! StendhalRPWorld world = SingletonRepository.getRPWorld(); for (int i = 0; i < 10; i++) { zones.add(world.getZone("0_semos_city")); *************** *** 92,96 **** */ private void listZones() { ! Iterator<IRPZone> itr = StendhalRPWorld.get().iterator(); zones = new ArrayList<StendhalRPZone>(); List<String> badZones = new ArrayList<String>(); --- 92,96 ---- */ private void listZones() { ! Iterator<IRPZone> itr = SingletonRepository.getRPWorld().iterator(); zones = new ArrayList<StendhalRPZone>(); List<String> badZones = new ArrayList<String>(); *************** *** 159,163 **** // Schedule so we are notified again in 5 minutes ! TurnNotifier.get().notifyInTurns(5 * 60 * 3, this); } } --- 159,163 ---- // Schedule so we are notified again in 5 minutes ! SingletonRepository.getTurnNotifier().notifyInTurns(5 * 60 * 3, this); } } Index: CroupierNPC.java =================================================================== RCS file: /cvsroot/arianne/stendhal/src/games/stendhal/server/entity/npc/CroupierNPC.java,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** CroupierNPC.java 13 Jan 2008 20:54:54 -0000 1.25 --- CroupierNPC.java 22 Jan 2008 22:25:29 -0000 1.26 *************** *** 1,6 **** package games.stendhal.server.entity.npc; ! import games.stendhal.server.core.engine.StendhalRPWorld; ! import games.stendhal.server.core.events.TurnNotifier; import games.stendhal.server.entity.item.Dice; import games.stendhal.server.entity.item.Item; --- 1,5 ---- package games.stendhal.server.entity.npc; ! import games.stendhal.server.core.engine.SingletonRepository; import games.stendhal.server.entity.item.Dice; import games.stendhal.server.entity.item.Item; *************** *** 49,53 **** String prizeName = prizeAndText.first(); String text = prizeAndText.second(); ! Item prize = StendhalRPWorld.get().getRuleManager().getEntityManager().getItem( prizeName); if (prizeName.equals("golden legs")) { --- 48,52 ---- String prizeName = prizeAndText.first(); String text = prizeAndText.second(); ! Item prize = SingletonRepository.getEntityManager().getItem( prizeName); if (prizeName.equals("golden legs")) { *************** *** 67,72 **** // The croupier takes the dice away from the table after some time. // This is simulated by shortening the degradation time of the dice. ! TurnNotifier.get().dontNotify(dice); ! TurnNotifier.get().notifyInSeconds(CLEAR_PLAYING_AREA_TIME, dice); } } --- 66,71 ---- // The croupier takes the dice away from the table after some time. // This is simulated by shortening the degradation time of the dice. ! SingletonRepository.getTurnNotifier().dontNotify(dice); ! SingletonRepository.getTurnNotifier().notifyInSeconds(CLEAR_PLAYING_AREA_TIME, dice); } } Index: SpeakerNPC.java =================================================================== RCS file: /cvsroot/arianne/stendhal/src/games/stendhal/server/entity/npc/SpeakerNPC.java,v retrieving revision 1.133 retrieving revision 1.134 diff -C2 -d -r1.133 -r1.134 *** SpeakerNPC.java 19 Jan 2008 10:15:41 -0000 1.133 --- SpeakerNPC.java 22 Jan 2008 22:25:29 -0000 1.134 *************** *** 1,5 **** package games.stendhal.server.entity.npc; ! import games.stendhal.server.core.engine.StendhalRPRuleProcessor; import games.stendhal.server.entity.Entity; import games.stendhal.server.entity.item.Corpse; --- 1,5 ---- package games.stendhal.server.entity.npc; ! import games.stendhal.server.core.engine.SingletonRepository; import games.stendhal.server.entity.Entity; import games.stendhal.server.entity.item.Corpse; *************** *** 301,305 **** if ((attending.squaredDistance(this) > 8 * 8) // or if the player fell asleep ;) ! || (StendhalRPRuleProcessor.get().getTurn() - lastMessageTurn > playerChatTimeout)) { // we force him to say bye to NPC :) --- 301,305 ---- if ((attending.squaredDistance(this) > 8 * 8) // or if the player fell asleep ;) ! || (SingletonRepository.getRuleProcessor().getTurn() - lastMessageTurn > playerChatTimeout)) { // we force him to say bye to NPC :) *************** *** 535,539 **** } ! lastMessageTurn = StendhalRPRuleProcessor.get().getTurn(); return engine.step(player, text); --- 535,539 ---- } ! lastMessageTurn = SingletonRepository.getRuleProcessor().getTurn(); return engine.step(player, text); |