示例#1
0
 void setPlayerMayLook(Player p, boolean mayLook, boolean temp) {
   TrackableProperty prop =
       temp ? TrackableProperty.PlayerMayLookTemp : TrackableProperty.PlayerMayLook;
   TrackableCollection<PlayerView> col = get(prop);
   if (mayLook) {
     if (col == null) {
       col = new TrackableCollection<PlayerView>(p.getView());
       set(prop, col);
     } else if (col.add(p.getView())) {
       flagAsChanged(prop);
     }
   } else if (col != null) {
     if (col.remove(p.getView())) {
       if (col.isEmpty()) {
         set(prop, null);
       } else {
         flagAsChanged(prop);
       }
     }
   }
 }