loading gui + converter
This commit is contained in:
parent
90de256e04
commit
987ed4059e
2 changed files with 205 additions and 0 deletions
120
java/src/game/gui/GuiLoading.java
Normal file
120
java/src/game/gui/GuiLoading.java
Normal file
|
@ -0,0 +1,120 @@
|
|||
package game.gui;
|
||||
|
||||
import game.Game;
|
||||
import game.Server;
|
||||
import game.gui.element.Bar;
|
||||
import game.gui.element.Label;
|
||||
|
||||
public class GuiLoading extends Gui {
|
||||
public static interface Callback {
|
||||
void poll(Game gm, GuiLoading gui);
|
||||
}
|
||||
|
||||
private final String message;
|
||||
private final Callback callback;
|
||||
|
||||
private Label headerLabel;
|
||||
private Label taskLabel;
|
||||
private Bar progressBar1;
|
||||
private Bar progressBar2;
|
||||
|
||||
public static GuiLoading makeLoadTask(final Server server) {
|
||||
return new GuiLoading("Lade Welt ...", new Callback() {
|
||||
public void poll(Game gm, GuiLoading gui) {
|
||||
if(server.isStarted()) {
|
||||
gm.displayGuiScreen(null);
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public static GuiLoading makeSaveTask(final Server server) {
|
||||
return new GuiLoading("Speichere Welt ...", new Callback() {
|
||||
public void poll(Game gm, GuiLoading gui) {
|
||||
if(server.isStopped()) {
|
||||
gm.displayGuiScreen(GuiMenu.INSTANCE);
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public GuiLoading(String message, Callback callback) {
|
||||
this.message = message;
|
||||
this.callback = callback;
|
||||
}
|
||||
|
||||
public void init(int width, int height) {
|
||||
this.taskLabel = this.add(new Label(0, 40, 500, 20, ""));
|
||||
this.progressBar1 = this.add(new Bar(0, 80, 500, 20));
|
||||
this.progressBar2 = this.add(new Bar(0, 120, 500, 20));
|
||||
this.shift();
|
||||
this.headerLabel = this.add(new Label(0, 40, width, 20, this.message));
|
||||
this.progressBar1.visible = false;
|
||||
this.progressBar2.visible = false;
|
||||
}
|
||||
|
||||
public String getTitle() {
|
||||
return this.message;
|
||||
}
|
||||
|
||||
public void setTask(String task) {
|
||||
this.taskLabel.setText(task);
|
||||
}
|
||||
|
||||
public void setBar(String desc) {
|
||||
this.progressBar1.visible = true;
|
||||
this.progressBar1.setDescription(desc);
|
||||
}
|
||||
|
||||
public void setBar(String desc, String unit, int total) {
|
||||
this.progressBar1.visible = true;
|
||||
this.progressBar1.setDescription(desc, unit, total);
|
||||
}
|
||||
|
||||
public void setBar(String desc, int total) {
|
||||
this.progressBar1.visible = true;
|
||||
this.progressBar1.setDescription(desc, total);
|
||||
}
|
||||
|
||||
public void setProgress(float progress) {
|
||||
this.progressBar1.setProgress(progress);
|
||||
}
|
||||
|
||||
public void resetBar() {
|
||||
this.progressBar1.resetProgress();
|
||||
this.progressBar1.visible = false;
|
||||
}
|
||||
|
||||
public void setSub(String desc) {
|
||||
this.progressBar2.visible = true;
|
||||
this.progressBar2.setDescription(desc);
|
||||
}
|
||||
|
||||
public void setSub(String desc, String unit, int total) {
|
||||
this.progressBar2.visible = true;
|
||||
this.progressBar2.setDescription(desc, unit, total);
|
||||
}
|
||||
|
||||
public void setSub(String desc, int total) {
|
||||
this.progressBar2.visible = true;
|
||||
this.progressBar2.setDescription(desc, total);
|
||||
}
|
||||
|
||||
public void setSubProgress(float progress) {
|
||||
this.progressBar2.setProgress(progress);
|
||||
}
|
||||
|
||||
public void resetSub() {
|
||||
this.progressBar2.resetProgress();
|
||||
this.progressBar2.visible = false;
|
||||
}
|
||||
|
||||
public void updateScreen() {
|
||||
if(this.callback != null)
|
||||
this.callback.poll(this.gm, this);
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue