0

私は少し助けを必要としています、なぜ私が望むものを価値にできないのか理解できません. ここで私がやろうとしているコード

RouletteExtension.java

public class RouletteExtension extends SFSExtension {
   private ConcurrentHashMap<Integer,PlayerHandler> players = null;
   @Override
   public void init() {
      players = new ConcurrentHashMap<Integer,PlayerHandler>();
   }
   public ConcurrentHashMap<Integer, PlayerHandler> getPlayers() {
      return players;
   }
   public void setPlayers(ConcurrentHashMap<Integer, PlayerHandler> players) {
      this.players = players;
   }
}

PlayerHandler.java

public class PlayerHandler {
   private int id = 0;
   User sfsUser = null;
   public PlayerHandler() {}
   public PlayerHandler(int id, User sfsUser) {
      this.id = id;
      this.sfsUser = sfsUser;
   }

   public int getId() {
      return id;
   }
   public void setId(int id) {
      this.id = id;
   }

   public User getSfsUser() {
      return sfsUser;
   }
   public void setSfsUser(User sfsUser) {
      this.sfsUser = sfsUser;
   }
}

BettingHandler.java

public class BettingHandler extends BaseClientRequestHandler {
   @Override
   public void handleClientRequest(User user, ISFSObject params) {
      RouletteExtension gameExt = (RouletteExtension) getParentExtension();
      PlayerHandler a = gameExt.getPlayers().get(user.getId());
      trace ("testOne = ", gameExt.getPlayers());
      trace ("testTwo = ",user.getId());
      trace ("testThree = ", a);
   }
}

SFS2Xサーバーサイド用のこのスクリプト、私は実際にはJavaが初めてなのでa、ゾーンモニターでトレースしているとき、これが表示されるだけで、値が何であるかを知りたいです

{RouletteExt}: testOne =  {}
{RouletteExt}: testTwo =  1

testThreeが表示されないので、これに何か問題があります。誰かがこれを修正する方法を教えてください。ここで何が起こっているのか説明してください。ありがとう

4

0 に答える 0