私は少し助けを必要としています、なぜ私が望むものを価値にできないのか理解できません. ここで私がやろうとしているコード
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が表示されないので、これに何か問題があります。誰かがこれを修正する方法を教えてください。ここで何が起こっているのか説明してください。ありがとう