Fix broken file name and add fade in for quests

This commit is contained in:
2020-07-07 23:20:34 +02:00
parent dbd645e6d6
commit cb7408b7f1

View File

@@ -13,6 +13,8 @@ import de.siphalor.was.visual.jfx.BalanceEntry;
import de.siphalor.was.visual.jfx.MainController;
import de.siphalor.was.visual.jfx.QuestController;
import de.siphalor.was.visual.jfx.StorageSlotController;
import javafx.animation.FadeTransition;
import javafx.animation.Interpolator;
import javafx.application.Application;
import javafx.collections.ObservableList;
import javafx.fxml.FXMLLoader;
@@ -26,10 +28,13 @@ import javafx.scene.image.Image;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.Pane;
import javafx.stage.Stage;
import javafx.util.Duration;
import org.jetbrains.annotations.NotNull;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
public class JFXVisual extends Application implements Visual {
@@ -40,9 +45,13 @@ public class JFXVisual extends Application implements Visual {
private static MainController controller;
private static final Map<String, Image> PRODUCT_IMAGES = new HashMap<>();
@NotNull
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
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());
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.getStylesheets().add("assets/jfx/main.css");
@@ -153,7 +162,13 @@ public class JFXVisual extends Application implements Visual {
loader.setController(questController);
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);
transition.play();
Product product = quest.getProduct();