diff --git a/core/src/ru/deadsoftware/cavedroid/game/GameProc.java b/core/src/ru/deadsoftware/cavedroid/game/GameProc.java
index afd91343eeda6c06ce04cd02c0a3c4ed68830956..ea5296a4f226aa93c4d3bb594d0071de41c8ec91 100644 (file)
import ru.deadsoftware.cavedroid.game.objects.Drop;
import ru.deadsoftware.cavedroid.misc.ControlMode;
+import javax.annotation.Nullable;
import java.io.Serializable;
import java.util.LinkedList;
public transient GameInput input;
public ControlMode controlMode;
transient GamePhysics physics;
- private transient GameFluidsThread fluidThread;
+ @Nullable private transient GameFluidsThread fluidThread;
public GameProc(int gameMode) {
world = new GameWorld(WORLD_WIDTH, WORLD_HEIGHT);
physics = new GamePhysics();
input = new GameInput();
controlMode = CaveGame.TOUCH ? ControlMode.WALK : ControlMode.CURSOR;
- resetRenderer();
+ renderer = resetRenderer();
startFluidThread();
}
- public void resetRenderer() {
+ public GameRenderer resetRenderer() {
int scale = CaveGame.TOUCH ? 320 : 480;
- renderer = new GameRenderer(scale, scale * GameScreen.getHeight() / GameScreen.getWidth());
+ renderer = new GameRenderer(scale, scale * GameScreen.getHeight() / GameScreen.getWidth());
+ return renderer;
}
private void startFluidThread() {
@Override
public void dispose() {
- fluidThread.interrupt();
+ if (fluidThread != null) {
+ fluidThread.interrupt();
+ }
}
}