|
@@ -1,5 +1,5 @@
|
|
|
/*
|
|
|
- * Copyright (c) 2009-2012 jMonkeyEngine
|
|
|
+ * Copyright (c) 2009-2019 jMonkeyEngine
|
|
|
* All rights reserved.
|
|
|
*
|
|
|
* Redistribution and use in source and binary forms, with or without
|
|
@@ -42,48 +42,97 @@ import java.util.logging.Level;
|
|
|
import java.util.logging.Logger;
|
|
|
|
|
|
/**
|
|
|
+ * A CinematicEvent associated with a Nifty screen.
|
|
|
*
|
|
|
* @author Nehon
|
|
|
*/
|
|
|
public class GuiEvent extends AbstractCinematicEvent {
|
|
|
|
|
|
+ /**
|
|
|
+ * message logger for this class
|
|
|
+ */
|
|
|
static final Logger log = Logger.getLogger(GuiEvent.class.getName());
|
|
|
|
|
|
+ /**
|
|
|
+ * name of the associated Nifty screen(not null)
|
|
|
+ */
|
|
|
protected String screen;
|
|
|
+ /**
|
|
|
+ * associated Nifty instance (not null)
|
|
|
+ */
|
|
|
protected Nifty nifty;
|
|
|
|
|
|
+ /**
|
|
|
+ * No-argument constructor needed by SavableClassUtil. Do not invoke
|
|
|
+ * directly!
|
|
|
+ */
|
|
|
public GuiEvent() {
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * Instantiate an event with the default initial duration (10) and mode
|
|
|
+ * (DontLoop).
|
|
|
+ *
|
|
|
+ * @param nifty the Nifty instance (not null, alias created)
|
|
|
+ * @param screen the name of the Nifty screen (not null)
|
|
|
+ */
|
|
|
public GuiEvent(Nifty nifty, String screen) {
|
|
|
this.screen = screen;
|
|
|
this.nifty = nifty;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * Instantiate an event the default mode (DontLoop).
|
|
|
+ *
|
|
|
+ * @param nifty the Nifty instance (not null, alias created)
|
|
|
+ * @param screen the name of the Nifty screen (not null)
|
|
|
+ * @param initialDuration the initial duration (in seconds, ≥0)
|
|
|
+ */
|
|
|
public GuiEvent(Nifty nifty, String screen, float initialDuration) {
|
|
|
super(initialDuration);
|
|
|
this.screen = screen;
|
|
|
this.nifty = nifty;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * Instantiate an event with the default initial duration (10).
|
|
|
+ *
|
|
|
+ * @param nifty the Nifty instance (not null, alias created)
|
|
|
+ * @param screen the name of the Nifty screen (not null)
|
|
|
+ * @param loopMode the loop mode (not null)
|
|
|
+ */
|
|
|
public GuiEvent(Nifty nifty, String screen, LoopMode loopMode) {
|
|
|
super(loopMode);
|
|
|
this.screen = screen;
|
|
|
this.nifty = nifty;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * Instantiate an event with the specified initial duration and loop mode.
|
|
|
+ *
|
|
|
+ * @param nifty the Nifty instance (not null, alias created)
|
|
|
+ * @param screen the name of the Nifty screen (not null)
|
|
|
+ * @param initialDuration the initial duration (in seconds, ≥0)
|
|
|
+ * @param loopMode the loop mode (not null)
|
|
|
+ */
|
|
|
public GuiEvent(Nifty nifty, String screen, float initialDuration, LoopMode loopMode) {
|
|
|
super(initialDuration, loopMode);
|
|
|
this.screen = screen;
|
|
|
this.nifty = nifty;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * Invoked when the event is started.
|
|
|
+ */
|
|
|
@Override
|
|
|
public void onPlay() {
|
|
|
log.log(Level.FINEST, "screen should be {0}", screen);
|
|
|
nifty.gotoScreen(screen);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * Invoked when the event is stopped.
|
|
|
+ */
|
|
|
@Override
|
|
|
public void onStop() {
|
|
|
if (nifty.getCurrentScreen() != null) {
|
|
@@ -91,22 +140,46 @@ public class GuiEvent extends AbstractCinematicEvent {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * Invoked when the event is paused.
|
|
|
+ */
|
|
|
@Override
|
|
|
public void onPause() {
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * Alter the Nifty instance for this event.
|
|
|
+ *
|
|
|
+ * @param nifty the new instance (not null)
|
|
|
+ */
|
|
|
public void setNifty(Nifty nifty) {
|
|
|
this.nifty = nifty;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * Alter the screen for this event.
|
|
|
+ *
|
|
|
+ * @param screen the name of the new screen (not null)
|
|
|
+ */
|
|
|
public void setScreen(String screen) {
|
|
|
this.screen = screen;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * Invoked once per frame, provided the event is playing.
|
|
|
+ *
|
|
|
+ * @param tpf the time interval between frames (in seconds, ≥0)
|
|
|
+ */
|
|
|
@Override
|
|
|
public void onUpdate(float tpf) {
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * Serialize this event, for example when saving to a J3O file.
|
|
|
+ *
|
|
|
+ * @param ex exporter (not null)
|
|
|
+ * @throws IOException from exporter
|
|
|
+ */
|
|
|
@Override
|
|
|
public void write(JmeExporter ex) throws IOException {
|
|
|
super.write(ex);
|
|
@@ -114,6 +187,12 @@ public class GuiEvent extends AbstractCinematicEvent {
|
|
|
oc.write(screen, "screen", "");
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * De-serialize this event, for example when loading from a J3O file.
|
|
|
+ *
|
|
|
+ * @param im importer (not null)
|
|
|
+ * @throws IOException from importer
|
|
|
+ */
|
|
|
@Override
|
|
|
public void read(JmeImporter im) throws IOException {
|
|
|
super.read(im);
|