|
|
|
package mightypork.rogue.screens.game;
|
|
|
|
|
|
|
|
|
|
|
|
import java.util.Random;
|
|
|
|
|
|
|
|
import mightypork.gamecore.app.AppAccess;
|
|
|
|
import mightypork.gamecore.gui.screens.LayeredScreen;
|
|
|
|
import mightypork.gamecore.input.KeyStroke;
|
|
|
|
import mightypork.gamecore.input.Keys;
|
|
|
|
import mightypork.rogue.world.WorldProvider;
|
|
|
|
import mightypork.rogue.world.events.WorldPauseRequest;
|
|
|
|
|
|
|
|
|
|
|
|
public class ScreenGame extends LayeredScreen {
|
|
|
|
|
|
|
|
|
|
|
|
private final Random rand = new Random();
|
|
|
|
|
|
|
|
|
|
|
|
public ScreenGame(AppAccess app)
|
|
|
|
{
|
|
|
|
super(app);
|
|
|
|
|
|
|
|
addLayer(new HudLayer(this));
|
|
|
|
addLayer(new WorldLayer(this));
|
|
|
|
|
|
|
|
bindKey(new KeyStroke(Keys.L_CONTROL, Keys.N), new Runnable() {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void run()
|
|
|
|
{
|
|
|
|
WorldProvider.get().createWorld(rand.nextLong());
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
final Runnable pauseIt = new Runnable() {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void run()
|
|
|
|
{
|
|
|
|
getEventBus().send(new WorldPauseRequest());
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
//pause key
|
|
|
|
bindKey(new KeyStroke(Keys.L_CONTROL, Keys.P), pauseIt);
|
|
|
|
bindKey(new KeyStroke(Keys.PAUSE), pauseIt);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
protected void onScreenEnter()
|
|
|
|
{
|
|
|
|
super.onScreenEnter();
|
|
|
|
WorldProvider.get().setListening(true);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
protected void onScreenLeave()
|
|
|
|
{
|
|
|
|
super.onScreenLeave();
|
|
|
|
WorldProvider.get().setListening(false);
|
|
|
|
}
|
|
|
|
}
|