@@ -19,6 +19,10 @@ package org.jackhuang.hmcl.ui;
|
|||||||
|
|
||||||
import com.jfoenix.controls.JFXButton;
|
import com.jfoenix.controls.JFXButton;
|
||||||
import com.jfoenix.controls.JFXDialogLayout;
|
import com.jfoenix.controls.JFXDialogLayout;
|
||||||
|
import javafx.animation.Interpolator;
|
||||||
|
import javafx.animation.KeyFrame;
|
||||||
|
import javafx.animation.KeyValue;
|
||||||
|
import javafx.animation.Timeline;
|
||||||
import javafx.beans.InvalidationListener;
|
import javafx.beans.InvalidationListener;
|
||||||
import javafx.beans.WeakInvalidationListener;
|
import javafx.beans.WeakInvalidationListener;
|
||||||
import javafx.beans.property.DoubleProperty;
|
import javafx.beans.property.DoubleProperty;
|
||||||
@@ -34,6 +38,7 @@ import javafx.scene.paint.Color;
|
|||||||
import javafx.stage.Screen;
|
import javafx.stage.Screen;
|
||||||
import javafx.stage.Stage;
|
import javafx.stage.Stage;
|
||||||
import javafx.stage.StageStyle;
|
import javafx.stage.StageStyle;
|
||||||
|
import javafx.util.Duration;
|
||||||
import org.jackhuang.hmcl.Launcher;
|
import org.jackhuang.hmcl.Launcher;
|
||||||
import org.jackhuang.hmcl.Metadata;
|
import org.jackhuang.hmcl.Metadata;
|
||||||
import org.jackhuang.hmcl.game.ModpackHelper;
|
import org.jackhuang.hmcl.game.ModpackHelper;
|
||||||
@@ -42,8 +47,10 @@ import org.jackhuang.hmcl.setting.*;
|
|||||||
import org.jackhuang.hmcl.task.Task;
|
import org.jackhuang.hmcl.task.Task;
|
||||||
import org.jackhuang.hmcl.task.TaskExecutor;
|
import org.jackhuang.hmcl.task.TaskExecutor;
|
||||||
import org.jackhuang.hmcl.ui.account.AccountListPage;
|
import org.jackhuang.hmcl.ui.account.AccountListPage;
|
||||||
|
import org.jackhuang.hmcl.ui.animation.AnimationUtils;
|
||||||
import org.jackhuang.hmcl.ui.construct.*;
|
import org.jackhuang.hmcl.ui.construct.*;
|
||||||
import org.jackhuang.hmcl.ui.construct.MessageDialogPane.MessageType;
|
import org.jackhuang.hmcl.ui.construct.MessageDialogPane.MessageType;
|
||||||
|
import org.jackhuang.hmcl.ui.decorator.Decorator;
|
||||||
import org.jackhuang.hmcl.ui.decorator.DecoratorController;
|
import org.jackhuang.hmcl.ui.decorator.DecoratorController;
|
||||||
import org.jackhuang.hmcl.ui.download.DownloadPage;
|
import org.jackhuang.hmcl.ui.download.DownloadPage;
|
||||||
import org.jackhuang.hmcl.ui.download.ModpackInstallWizardProvider;
|
import org.jackhuang.hmcl.ui.download.ModpackInstallWizardProvider;
|
||||||
@@ -267,6 +274,24 @@ public final class Controllers {
|
|||||||
stage.initStyle(StageStyle.TRANSPARENT);
|
stage.initStyle(StageStyle.TRANSPARENT);
|
||||||
stage.setScene(scene);
|
stage.setScene(scene);
|
||||||
|
|
||||||
|
if (AnimationUtils.isAnimationEnabled() && !OperatingSystem.CURRENT_OS.isLinuxOrBSD()) {
|
||||||
|
Decorator node = decorator.getDecorator();
|
||||||
|
Interpolator ease = Interpolator.SPLINE(0.25, 0.1, 0.25, 1);
|
||||||
|
Timeline timeline = new Timeline(
|
||||||
|
new KeyFrame(Duration.millis(0),
|
||||||
|
new KeyValue(node.opacityProperty(), 0, ease),
|
||||||
|
new KeyValue(node.scaleXProperty(), 0.3, ease),
|
||||||
|
new KeyValue(node.scaleYProperty(), 0.3, ease)
|
||||||
|
),
|
||||||
|
new KeyFrame(Duration.millis(800),
|
||||||
|
new KeyValue(node.opacityProperty(), 1, ease),
|
||||||
|
new KeyValue(node.scaleXProperty(), 1, ease),
|
||||||
|
new KeyValue(node.scaleYProperty(), 1, ease)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
timeline.play();
|
||||||
|
}
|
||||||
|
|
||||||
if (!Architecture.SYSTEM_ARCH.isX86() && globalConfig().getPlatformPromptVersion() < 1) {
|
if (!Architecture.SYSTEM_ARCH.isX86() && globalConfig().getPlatformPromptVersion() < 1) {
|
||||||
Runnable continueAction = () -> globalConfig().setPlatformPromptVersion(1);
|
Runnable continueAction = () -> globalConfig().setPlatformPromptVersion(1);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user