From: Hendrik <nh...@us...> - 2007-04-03 22:05:26
|
Update of /cvsroot/arianne/stendhal/src/games/stendhal/server/entity/slot In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv14043/src/games/stendhal/server/entity/slot Modified Files: BankSlot.java Log Message: implemented isReachableBy Index: BankSlot.java =================================================================== RCS file: /cvsroot/arianne/stendhal/src/games/stendhal/server/entity/slot/BankSlot.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** BankSlot.java 3 Apr 2007 21:24:26 -0000 1.1 --- BankSlot.java 3 Apr 2007 22:05:25 -0000 1.2 *************** *** 3,6 **** --- 3,8 ---- import games.stendhal.server.entity.Entity; + import java.util.List; + /** * a bank slot *************** *** 9,12 **** --- 11,15 ---- */ public class BankSlot extends PlayerSlot { + private Banks bank = null; /** *************** *** 17,30 **** public BankSlot(Banks bank) { super(bank.getSlotName()); } @Override public boolean isReachableBy(Entity entity) { ! // TODO: Check if we are next to a chest which acts as an interface ! // to this bank slot boolean found = false; if (!found) { return false; } return super.isReachableBy(entity); } --- 20,45 ---- public BankSlot(Banks bank) { super(bank.getSlotName()); + this.bank = bank; } @Override public boolean isReachableBy(Entity entity) { ! // Check if we are next to a chest which acts as an interface ! // to this bank slot ! List<Entity> accessors = BankAccessorManager.get().get(bank); boolean found = false; + for (Entity accessor : accessors) { + if (entity.nextTo(accessor)) { + found = true; + break; + } + } + if (!found) { + // sorry, we are not near a personal chest return false; } + + // now check that it is the slot of the right player return super.isReachableBy(entity); } |