コード例 #1
0
 private void acceptImpl(Player player) {
   setStateLockedImpl();
   if (hasStateChildrenImpl()) {
     getHandle().removeAll();
     this.childGrids.clear();
     this.childGrids = null;
     this.states = getStates() & ~States.HAS_CHILDREN;
   }
   synchronized (mutex) {
     this.player = player;
     getHandle().setImage(getImageOfPlayerImpl(player), true);
     boolean isGreat = isGreatParentImpl();
     if (isGreat) {
       getGameManager().getTurnManager().endEvent().raise(eventKey, this, new EmptyEventContext());
       playEvent.raise(
           eventKey, this, new PlayContextImpl(getGameManager().getFlagOf(player), null));
       return;
     }
     PlayContextImpl context = new PlayContextImpl(getGameManager().getFlagOf(player), getCoord());
     playEvent.raise(eventKey, this, context);
     GridCoord c = getCoord();
     GridCollection.UpdateInfo ui = peerGrids.update();
     Flag f = ui.getFlag();
     if (f != Flag.NONE) {
       localEndEvent.raise(eventKey, this, new PlayContextImpl(f, c));
     }
   }
 }