11package com .faforever .client .player ;
22
33import com .faforever .client .achievements .AchievementService ;
4- import com .faforever .client .chat .ChatChannelUser ;
54import com .faforever .client .domain .api .Leaderboard ;
65import com .faforever .client .domain .server .GameInfo ;
76import com .faforever .client .domain .server .PlayerInfo ;
2524import javafx .scene .control .Separator ;
2625import javafx .scene .image .ImageView ;
2726import javafx .scene .layout .Pane ;
27+ import lombok .Getter ;
2828import lombok .RequiredArgsConstructor ;
2929import lombok .extern .slf4j .Slf4j ;
3030import org .springframework .beans .factory .config .ConfigurableBeanFactory ;
@@ -63,7 +63,8 @@ public class PrivatePlayerInfoController extends NodeController<Node> {
6363 public Label unlockedAchievementsLabel ;
6464 public Separator separator ;
6565
66- private final ObjectProperty <ChatChannelUser > chatUser = new SimpleObjectProperty <>();
66+ @ Getter
67+ private final ObjectProperty <PlayerInfo > playerProperty = new SimpleObjectProperty <>();
6768
6869 private final ChangeListener <PlayerInfo > playerChangeListener = (observable , oldValue , newValue ) -> {
6970 if (newValue != null && !Objects .equals (oldValue , newValue )) {
@@ -85,8 +86,7 @@ protected void onInitialize() {
8586 gameDetailController .setPlaytimeVisible (true );
8687 gameDetailWrapper .setVisible (false );
8788
88- ObservableValue <Boolean > playerExistsProperty = chatUser .flatMap (user -> user .playerProperty ().isNotNull ())
89- .when (showing );
89+ ObservableValue <Boolean > playerExistsProperty = playerProperty .isNotNull ().when (showing );
9090 userImageView .visibleProperty ().bind (playerExistsProperty );
9191 country .visibleProperty ().bind (playerExistsProperty );
9292 ratingsLabels .visibleProperty ().bind (playerExistsProperty );
@@ -96,36 +96,21 @@ protected void onInitialize() {
9696 unlockedAchievements .visibleProperty ().bind (playerExistsProperty );
9797 unlockedAchievementsLabel .visibleProperty ().bind (playerExistsProperty );
9898
99- ObservableValue <PlayerInfo > playerObservable = chatUser .flatMap (ChatChannelUser ::playerProperty );
100-
10199 gamesPlayed .textProperty ()
102- .bind (playerObservable .flatMap (PlayerInfo ::numberOfGamesProperty ).map (i18n ::number ).when (showing ));
100+ .bind (playerProperty .flatMap (PlayerInfo ::numberOfGamesProperty ).map (i18n ::number ).when (showing ));
103101
104- username .textProperty ().bind (chatUser .map (ChatChannelUser ::getUsername ).when (showing ));
102+ username .textProperty ().bind (playerProperty .map (PlayerInfo ::getUsername ).when (showing ));
105103 country .textProperty ()
106- .bind (
107- playerObservable .flatMap (PlayerInfo ::countryProperty ).map (i18n ::getCountryNameLocalized ).when (showing ));
104+ .bind (playerProperty .flatMap (PlayerInfo ::countryProperty ).map (i18n ::getCountryNameLocalized ).when (showing ));
108105 userImageView .imageProperty ()
109- .bind (playerObservable .map (PlayerInfo ::getId ).map (IdenticonUtil ::createIdenticon ).when (showing ));
110- ObservableValue <GameInfo > gameObservable = playerObservable .flatMap (PlayerInfo ::gameProperty );
106+ .bind (playerProperty .map (PlayerInfo ::getId ).map (IdenticonUtil ::createIdenticon ).when (showing ));
107+ ObservableValue <GameInfo > gameObservable = playerProperty .flatMap (PlayerInfo ::gameProperty );
111108 gameDetailController .gameProperty ().bind (gameObservable .when (showing ));
112109 gameDetailWrapper .visibleProperty ().bind (gameObservable .flatMap (GameInfo ::statusProperty )
113110 .map (status -> status == GameStatus .OPEN || status == GameStatus .PLAYING )
114111 .orElse (false )
115112 .when (showing ));
116- chatUser .flatMap (ChatChannelUser ::playerProperty ).addListener (playerChangeListener );
117- }
118-
119- public void setChatUser (ChatChannelUser chatUser ) {
120- this .chatUser .set (chatUser );
121- }
122-
123- public ChatChannelUser getChatUser () {
124- return chatUser .get ();
125- }
126-
127- public ObjectProperty <ChatChannelUser > chatUserProperty () {
128- return chatUser ;
113+ playerProperty .addListener (playerChangeListener );
129114 }
130115
131116 private void populateUnlockedAchievementsLabel (PlayerInfo player ) {
0 commit comments