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());
Window owner = saveButton.getScene().getWindow();
Stage current = (Stage) owner;
current.close();
controller.updateLeaderboard();
controller.updateAchievements();
UserController.AlertHelper.showAlert(Alert.AlertType.CONFIRMATION,
owner, "Footprint saved!", "Your footprint is saved!");
current.close();
}
/**

View File

@@ -165,7 +165,17 @@ public class DashBoardController {
@FXML
private Label snacks;
@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
private Label hintText;
@FXML
@@ -232,7 +242,6 @@ public class DashBoardController {
friendsTable.setItems(data);
updateLeaderboard();
updateAchievements();
calculateFootPrintButton.setSkin(new ClickButtonSkin(calculateFootPrintButton));
addFriendButton.setSkin(new ClickButtonSkin(addFriendButton));
addExtraActivityButton.setSkin(new ClickButtonSkin(addExtraActivityButton));
@@ -563,9 +572,36 @@ public class DashBoardController {
*/
public void updateAchievements() {
Map achievements = userService.getAchievements(userService.currentUser.getName());
achiev1image.setVisible((Boolean)achievements.get("Starting off"));
//achiev2image.setVisible(achievements.get("name second achievement"));
//Add all achievements here, add updateAchievements to the achievements pane
if((Boolean)achievements.get("Starting off")) {
achieve1.setOpacity(1);
} 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

View File

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

View File

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

View File

@@ -8,7 +8,10 @@
<?import javafx.scene.image.Image?>
<?import javafx.scene.image.ImageView?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.ColumnConstraints?>
<?import javafx.scene.layout.GridPane?>
<?import javafx.scene.layout.Pane?>
<?import javafx.scene.layout.RowConstraints?>
<?import javafx.scene.layout.VBox?>
<?import javafx.scene.shape.Line?>
<?import javafx.scene.text.Font?>
@@ -470,14 +473,59 @@
</ImageView>
</graphic>
</Button>
<Label fx:id="achiev1text" layoutX="579.0" layoutY="379.0" prefHeight="17.0" prefWidth="181.0" text="Achievement test label" />
<ImageView fx:id="achiev1image" fitHeight="150.0" fitWidth="200.0" layoutX="579.0" layoutY="396.0" pickOnBounds="true" preserveRatio="true">
<image>
<Image url="@../icons/achiev1pic.jpg" />
<!-- image from shutterstock.com - 1038138760 -->
</image>
</ImageView>
<Label fx:id="achiev1text" alignment="CENTER" layoutX="555.0" layoutY="350.0" prefHeight="30.0" prefWidth="250.0" text="ACHIEVEMENTS" textAlignment="CENTER">
<font>
<Font size="18.0" />
</font>
</Label>
<GridPane layoutX="539.0" layoutY="380.0" prefHeight="303.0" prefWidth="258.0">
<columnConstraints>
<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>
</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">
@@ -518,4 +566,4 @@
</children>
</AnchorPane>
</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) {
User user = userRepository.findByName(name);
achievementService.updateAchievements(user);
return user.getAchievements();
}