Fix broken file name and add fade in for quests
This commit is contained in:
@@ -13,6 +13,8 @@ import de.siphalor.was.visual.jfx.BalanceEntry;
|
|||||||
import de.siphalor.was.visual.jfx.MainController;
|
import de.siphalor.was.visual.jfx.MainController;
|
||||||
import de.siphalor.was.visual.jfx.QuestController;
|
import de.siphalor.was.visual.jfx.QuestController;
|
||||||
import de.siphalor.was.visual.jfx.StorageSlotController;
|
import de.siphalor.was.visual.jfx.StorageSlotController;
|
||||||
|
import javafx.animation.FadeTransition;
|
||||||
|
import javafx.animation.Interpolator;
|
||||||
import javafx.application.Application;
|
import javafx.application.Application;
|
||||||
import javafx.collections.ObservableList;
|
import javafx.collections.ObservableList;
|
||||||
import javafx.fxml.FXMLLoader;
|
import javafx.fxml.FXMLLoader;
|
||||||
@@ -26,10 +28,13 @@ import javafx.scene.image.Image;
|
|||||||
import javafx.scene.layout.GridPane;
|
import javafx.scene.layout.GridPane;
|
||||||
import javafx.scene.layout.Pane;
|
import javafx.scene.layout.Pane;
|
||||||
import javafx.stage.Stage;
|
import javafx.stage.Stage;
|
||||||
|
import javafx.util.Duration;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
public class JFXVisual extends Application implements Visual {
|
public class JFXVisual extends Application implements Visual {
|
||||||
@@ -40,9 +45,13 @@ public class JFXVisual extends Application implements Visual {
|
|||||||
|
|
||||||
private static MainController controller;
|
private static MainController controller;
|
||||||
|
|
||||||
|
private static final Map<String, Image> PRODUCT_IMAGES = new HashMap<>();
|
||||||
@NotNull
|
@NotNull
|
||||||
public static Image getProductImage(@NotNull Product product, @NotNull ContentManager contentManager) {
|
public static Image getProductImage(@NotNull Product product, @NotNull ContentManager contentManager) {
|
||||||
return loadImage(product.getTextureLocation(), contentManager).orElseGet(() -> loadImage(Product.getPlaceholderTextureLocation(), contentManager).orElseThrow());
|
return PRODUCT_IMAGES.computeIfAbsent(
|
||||||
|
product.getTextureLocation(),
|
||||||
|
loc -> loadImage(loc, contentManager).orElseGet(() -> loadImage(Product.getPlaceholderTextureLocation(), contentManager).orElseThrow())
|
||||||
|
);
|
||||||
}
|
}
|
||||||
@NotNull
|
@NotNull
|
||||||
public static Optional<Image> loadImage(@NotNull String location, @NotNull ContentManager contentManager) {
|
public static Optional<Image> loadImage(@NotNull String location, @NotNull ContentManager contentManager) {
|
||||||
@@ -116,7 +125,7 @@ public class JFXVisual extends Application implements Visual {
|
|||||||
controller = new MainController(WhatAStorage.getInstance());
|
controller = new MainController(WhatAStorage.getInstance());
|
||||||
loader.setController(controller);
|
loader.setController(controller);
|
||||||
|
|
||||||
Pane pane = loader.load(AssetsManager.getStream("jfx/test.fxml").get());
|
Pane pane = loader.load(AssetsManager.getStream("jfx/game.fxml").get());
|
||||||
mainScene = new Scene(pane);
|
mainScene = new Scene(pane);
|
||||||
mainScene.getStylesheets().add("assets/jfx/main.css");
|
mainScene.getStylesheets().add("assets/jfx/main.css");
|
||||||
|
|
||||||
@@ -153,7 +162,13 @@ public class JFXVisual extends Application implements Visual {
|
|||||||
loader.setController(questController);
|
loader.setController(questController);
|
||||||
Parent parent = loader.load(is);
|
Parent parent = loader.load(is);
|
||||||
|
|
||||||
|
FadeTransition transition = new FadeTransition(Duration.millis(250), parent);
|
||||||
|
transition.setFromValue(0D);
|
||||||
|
transition.setByValue(1D);
|
||||||
|
transition.setInterpolator(Interpolator.EASE_OUT);
|
||||||
|
|
||||||
controller.questBox.getChildren().add(parent);
|
controller.questBox.getChildren().add(parent);
|
||||||
|
transition.play();
|
||||||
|
|
||||||
Product product = quest.getProduct();
|
Product product = quest.getProduct();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user