Merge branch 'develop_achievements' into 'master'

Develop achievements

See merge request cse1105/2018-2019/oopp-group-43/template!72
This commit is contained in:
Ceren Ugurlu
2019-04-07 16:00:55 +00:00
11 changed files with 108 additions and 15 deletions

View File

@@ -398,10 +398,11 @@ public class CalculatorController {
Float footprint = userService.saveFootprint(userService.currentUser.getName()); Float footprint = userService.saveFootprint(userService.currentUser.getName());
Window owner = saveButton.getScene().getWindow(); Window owner = saveButton.getScene().getWindow();
Stage current = (Stage) owner; Stage current = (Stage) owner;
current.close();
controller.updateLeaderboard(); controller.updateLeaderboard();
controller.updateAchievements();
UserController.AlertHelper.showAlert(Alert.AlertType.CONFIRMATION, UserController.AlertHelper.showAlert(Alert.AlertType.CONFIRMATION,
owner, "Footprint saved!", "Your footprint is saved!"); owner, "Footprint saved!", "Your footprint is saved!");
current.close();
} }
/** /**

View File

@@ -165,7 +165,17 @@ public class DashBoardController {
@FXML @FXML
private Label snacks; private Label snacks;
@FXML @FXML
private ImageView achiev1image; private ImageView achieve1;
@FXML
private ImageView achieve2;
@FXML
private ImageView achieve3;
@FXML
private ImageView achieve4;
@FXML
private ImageView achieve5;
@FXML
private ImageView achieve6;
@FXML @FXML
private Label hintText; private Label hintText;
@FXML @FXML
@@ -232,7 +242,6 @@ public class DashBoardController {
friendsTable.setItems(data); friendsTable.setItems(data);
updateLeaderboard(); updateLeaderboard();
updateAchievements(); updateAchievements();
calculateFootPrintButton.setSkin(new ClickButtonSkin(calculateFootPrintButton)); calculateFootPrintButton.setSkin(new ClickButtonSkin(calculateFootPrintButton));
addFriendButton.setSkin(new ClickButtonSkin(addFriendButton)); addFriendButton.setSkin(new ClickButtonSkin(addFriendButton));
addExtraActivityButton.setSkin(new ClickButtonSkin(addExtraActivityButton)); addExtraActivityButton.setSkin(new ClickButtonSkin(addExtraActivityButton));
@@ -563,9 +572,36 @@ public class DashBoardController {
*/ */
public void updateAchievements() { public void updateAchievements() {
Map achievements = userService.getAchievements(userService.currentUser.getName()); Map achievements = userService.getAchievements(userService.currentUser.getName());
achiev1image.setVisible((Boolean)achievements.get("Starting off")); if((Boolean)achievements.get("Starting off")) {
//achiev2image.setVisible(achievements.get("name second achievement")); achieve1.setOpacity(1);
//Add all achievements here, add updateAchievements to the achievements pane } else {
achieve1.setOpacity(0.3);
}
if((Boolean)achievements.get("Social butterfly")) {
achieve2.setOpacity(1);
} else {
achieve2.setOpacity(0.3);
}
if((Boolean)achievements.get("Green saver")) {
achieve3.setOpacity(1);
} else {
achieve3.setOpacity(0.3);
}
if((Boolean)achievements.get("Animal friend")) {
achieve4.setOpacity(1);
} else {
achieve4.setOpacity(0.3);
}
if((Boolean)achievements.get("Tom Dumoulin")) {
achieve5.setOpacity(1);
} else {
achieve5.setOpacity(0.3);
}
if((Boolean)achievements.get("Let it shine")) {
achieve6.setOpacity(1);
} else {
achieve6.setOpacity(0.3);
}
} }
//class for the animations on the navigation buttons //class for the animations on the navigation buttons

View File

@@ -167,6 +167,7 @@ public class ExtraActivityController {
Window owner = saveButton.getScene().getWindow(); Window owner = saveButton.getScene().getWindow();
Float footprint = userService.saveFootprint(userService.currentUser.getName()); Float footprint = userService.saveFootprint(userService.currentUser.getName());
controller.updateLeaderboard(); controller.updateLeaderboard();
controller.updateAchievements();
Stage current = (Stage) owner; Stage current = (Stage) owner;
current.close(); current.close();
UserController.AlertHelper.showAlert(Alert.AlertType.CONFIRMATION, owner, "Activities are added!", UserController.AlertHelper.showAlert(Alert.AlertType.CONFIRMATION, owner, "Activities are added!",
@@ -194,6 +195,8 @@ public class ExtraActivityController {
"bike", "bike",
temperatureLabel.getText().replace(" Degrees", "")); temperatureLabel.getText().replace(" Degrees", ""));
} }
controller.updateAchievements();
controller.updateLeaderboard();
} }
public class TranslateButtonSkin extends ButtonSkin { public class TranslateButtonSkin extends ButtonSkin {

View File

@@ -16,6 +16,9 @@ public class FriendController {
@Autowired @Autowired
UserService userService; UserService userService;
@Autowired
DashBoardController dashBoardController;
@FXML @FXML
private Button addButton; private Button addButton;
@FXML @FXML
@@ -54,6 +57,7 @@ public class FriendController {
//close the register window after the user has entered all the credentials //close the register window after the user has entered all the credentials
String friendName = userNameText.getText(); String friendName = userNameText.getText();
Stage current = (Stage) owner; Stage current = (Stage) owner;
dashBoardController.updateAchievements();
current.close(); current.close();
UserController.AlertHelper.showAlert(Alert.AlertType.CONFIRMATION, owner, "Friend added!", UserController.AlertHelper.showAlert(Alert.AlertType.CONFIRMATION, owner, "Friend added!",
userNameText.getText() + " is now your friend!"); userNameText.getText() + " is now your friend!");

View File

@@ -8,7 +8,10 @@
<?import javafx.scene.image.Image?> <?import javafx.scene.image.Image?>
<?import javafx.scene.image.ImageView?> <?import javafx.scene.image.ImageView?>
<?import javafx.scene.layout.AnchorPane?> <?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.ColumnConstraints?>
<?import javafx.scene.layout.GridPane?>
<?import javafx.scene.layout.Pane?> <?import javafx.scene.layout.Pane?>
<?import javafx.scene.layout.RowConstraints?>
<?import javafx.scene.layout.VBox?> <?import javafx.scene.layout.VBox?>
<?import javafx.scene.shape.Line?> <?import javafx.scene.shape.Line?>
<?import javafx.scene.text.Font?> <?import javafx.scene.text.Font?>
@@ -470,14 +473,59 @@
</ImageView> </ImageView>
</graphic> </graphic>
</Button> </Button>
<Label fx:id="achiev1text" layoutX="579.0" layoutY="379.0" prefHeight="17.0" prefWidth="181.0" text="Achievement test label" /> <Label fx:id="achiev1text" alignment="CENTER" layoutX="555.0" layoutY="350.0" prefHeight="30.0" prefWidth="250.0" text="ACHIEVEMENTS" textAlignment="CENTER">
<ImageView fx:id="achiev1image" fitHeight="150.0" fitWidth="200.0" layoutX="579.0" layoutY="396.0" pickOnBounds="true" preserveRatio="true"> <font>
<Font size="18.0" />
<image> </font>
<Image url="@../icons/achiev1pic.jpg" /> </Label>
<!-- image from shutterstock.com - 1038138760 --> <GridPane layoutX="539.0" layoutY="380.0" prefHeight="303.0" prefWidth="258.0">
</image> <columnConstraints>
</ImageView> <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<ImageView fx:id="achieve1" fitHeight="101.0" fitWidth="129.0" pickOnBounds="true" preserveRatio="true">
<image>
<Image url="@../icons/Clover.png" />
<!-- image from pngall.com - 3548 -->
</image>
</ImageView>
<ImageView fx:id="achieve2" fitHeight="101.0" fitWidth="129.0" pickOnBounds="true" preserveRatio="true" GridPane.rowIndex="1">
<image>
<Image url="@../icons/Friendship.png" />
<!-- image from pngall.com - 24498 -->
</image>
</ImageView>
<ImageView fx:id="achieve3" fitHeight="101.0" fitWidth="129.0" pickOnBounds="true" preserveRatio="true" GridPane.rowIndex="2">
<image>
<Image url="@../icons/co2dev.png" />
<!-- image from exceldryer.com -->
</image>
</ImageView>
<ImageView fx:id="achieve4" fitHeight="101.0" fitWidth="129.0" pickOnBounds="true" preserveRatio="true" GridPane.columnIndex="1">
<image>
<Image url="@../icons/alternate_foods.png" />
</image>
</ImageView>
<ImageView fx:id="achieve5" fitHeight="101.0" fitWidth="129.0" pickOnBounds="true" preserveRatio="true" GridPane.columnIndex="1" GridPane.rowIndex="1">
<image>
<Image url="@../icons/achiev1pic.jpg" />
<!-- image from shutterstock.com - 1038138760 -->
</image>
</ImageView>
<ImageView fx:id="achieve6" fitHeight="101.0" fitWidth="129.0" pickOnBounds="true" preserveRatio="true" GridPane.columnIndex="1" GridPane.rowIndex="2">
<image>
<Image url="@../icons/solar_panels.jpeg" />
<!-- image from moregreenenergy.com -->
</image>
</ImageView>
</children>
</GridPane>
</children> </children>
</AnchorPane> </AnchorPane>
<AnchorPane fx:id="friendsPane" layoutX="216.0" prefHeight="703.0" prefWidth="820.0" visible="false" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="214.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> <AnchorPane fx:id="friendsPane" layoutX="216.0" prefHeight="703.0" prefWidth="820.0" visible="false" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="214.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
@@ -518,4 +566,4 @@
</children> </children>
</AnchorPane> </AnchorPane>
</children> </children>
</AnchorPane> </AnchorPane>

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

View File

@@ -276,6 +276,7 @@ public class UserService {
*/ */
public Map<String, Boolean> getAchievements(String name) { public Map<String, Boolean> getAchievements(String name) {
User user = userRepository.findByName(name); User user = userRepository.findByName(name);
achievementService.updateAchievements(user);
return user.getAchievements(); return user.getAchievements();
} }