From 4517718d1cea1c54f42296b89a34ea20c88352f2 Mon Sep 17 00:00:00 2001 From: Joshua Perry <45966243+jpez-development@users.noreply.github.com> Date: Tue, 31 Jan 2023 18:14:21 +0000 Subject: [PATCH] display list of players and allows view of details --- .../java/com/r0r5chach/MainController.java | 74 ++++++++++++++++-- src/main/resources/com/r0r5chach/main.fxml | 77 +++++++++++++++++-- 2 files changed, 141 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/r0r5chach/MainController.java b/src/main/java/com/r0r5chach/MainController.java index af44750..6abc580 100644 --- a/src/main/java/com/r0r5chach/MainController.java +++ b/src/main/java/com/r0r5chach/MainController.java @@ -1,20 +1,84 @@ package com.r0r5chach; +import java.net.URL; +import java.util.ArrayList; +import java.util.ResourceBundle; + +import com.r0r5chach.r6.R6Player; +import com.r0r5chach.valorant.ValorantPlayer; + import javafx.collections.FXCollections; import javafx.fxml.FXML; +import javafx.fxml.Initializable; import javafx.scene.control.ListView; +import javafx.scene.control.TextField; +import javafx.scene.text.Text; -public class MainController { +public class MainController implements Initializable { private CompetitorList competitors; + private ArrayList competitorIds; @FXML - private ListView competitorsList; - public MainController() { + ListView competitorsList; + + @FXML + TextField playerNumber; + + @FXML + TextField playerName; + + @FXML + TextField playerLevel; + + @FXML + Text favoriteCharacters; + + @FXML + TextField favoriteAttacker; + + @FXML + TextField favoriteDefender; + + @Override + public void initialize(URL url, ResourceBundle rb) { loadCompetitors(); - } + loadView(); + } private void loadCompetitors(){ this.competitors = new Manager().getCompetitors(); - this.competitorsList = new ListView(FXCollections.observableList(this.competitors.getCompetitors())); + this.competitorIds = new ArrayList(); + for (Competitor player : this.competitors.getCompetitors()) { + this.competitorIds.add(player.getPlayerNumber()); + } + } + + private void loadView() { + competitorsList.setItems(FXCollections.observableArrayList(this.competitorIds)); + } + + @FXML + public void getCompetitor() { + Competitor player = this.competitors.getCompetitors().get(this.competitorIds.indexOf(this.competitorsList.getSelectionModel().getSelectedItem())); + loadPlayer(player); + } + + private void loadPlayer(Competitor player) { + this.playerNumber.setText(String.valueOf(player.getPlayerNumber())); + this.playerName.setText(player.getPlayerName().getFullName()); + this.playerLevel.setText(player.getPlayerLevel().getRank()); + + if (player instanceof R6Player) { + this.favoriteAttacker.setText(((R6Player) player).getFavoriteAttacker().getAttacker()); + this.favoriteDefender.setText(((R6Player) player).getFavoriteDefender().getDefender()); + this.favoriteDefender.visibleProperty().set(true); + this.favoriteCharacters.setText("Favorite Operators"); + } + else if (player instanceof ValorantPlayer) { + this.favoriteAttacker.setText(((ValorantPlayer) player).getFavoriteAgent().getAgent()); + this.favoriteDefender.visibleProperty().set(false); + this.favoriteCharacters.setText("Favorite Agent"); + } + } } diff --git a/src/main/resources/com/r0r5chach/main.fxml b/src/main/resources/com/r0r5chach/main.fxml index b0f3a52..9002164 100644 --- a/src/main/resources/com/r0r5chach/main.fxml +++ b/src/main/resources/com/r0r5chach/main.fxml @@ -1,21 +1,88 @@ + + + + + + - - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +