Gamemenu intergration. pause function working again.

This commit is contained in:
Administrator
2014-02-20 11:44:48 +01:00
parent 812308b869
commit 3cbc26b42d
4 changed files with 94 additions and 86 deletions
+11 -5
View File
@@ -49,11 +49,11 @@ public class CanvasView extends View
// Game Start. First Load // Game Start. First Load
((GamePlay)Gameplay).SetStartLevel(startLevel); ((GamePlay)Gameplay).SetStartLevel(startLevel);
((GamePlay)Gameplay).SetGameState(GamePlay.GS_LOAD); ((GamePlay)Gameplay).SetGameState(GamePlay.GS_LOAD, true);
// Start Game. // Start Game.
if (((GamePlay)Gameplay).GetGameState() == GameStateInterface.GS_READY) if (((GamePlay)Gameplay).GetGameState() == GameStateInterface.GS_READY)
((GamePlay)Gameplay).SetGameState(GameStateInterface.GS_START); ((GamePlay)Gameplay).SetGameState(GameStateInterface.GS_START, true);
} }
@Override @Override
@@ -77,11 +77,11 @@ public class CanvasView extends View
gameStateChanged(gameState); gameStateChanged(gameState);
} }
public void OnGameStateChanged(int gameState, boolean isPostBack) /*public void OnGameStateChanged(int gameState, boolean isPostBack)
{ {
if (isPostBack == false) if (isPostBack == false)
gameStateChanged(gameState); gameStateChanged(gameState);
} }*/
private void gameStateChanged(int gameState) private void gameStateChanged(int gameState)
{ {
@@ -94,10 +94,16 @@ public class CanvasView extends View
} }
case GameStateInterface.GS_PAUSED: case GameStateInterface.GS_PAUSED:
{ {
//Gamemenu.SetGameState(Foreground.GetGameState(), true); Gamemenu.SetGameState(Foreground.GetGameState(), true);
Foreground = Gamemenu; Foreground = Gamemenu;
break; break;
} }
case GameStateInterface.GS_RESUME:
{
Gameplay.SetGameState(Foreground.GetGameState(), true);
Foreground = Gameplay;
break;
}
case GameStateInterface.GS_GAMEOVER: case GameStateInterface.GS_GAMEOVER:
{ {
Foreground = Gamemenu; Foreground = Gamemenu;
+42 -36
View File
@@ -1,6 +1,5 @@
package mangavalk.tetris; package mangavalk.tetris;
import android.app.Activity;
import android.graphics.Canvas; import android.graphics.Canvas;
public class GameMenu extends GameStateInterface public class GameMenu extends GameStateInterface
@@ -13,28 +12,37 @@ public class GameMenu extends GameStateInterface
// Methods. // Methods.
@Override @Override
public void DrawFrame(Canvas canvas) { public void DrawFrame(Canvas canvas)
// TODO Auto-generated method stub
}
@Override
public void SendMove(float x, float y, boolean pointerUp) {
// TODO Auto-generated method stub
}
@Override
public void SetGameState(int gameState)
{ {
GameState = gameState; // TODO Auto-generated method stub
switch(GameState) switch(GameState)
{ {
case GS_PAUSED:
{
ShowPauseMenu();
break;
}
} }
canvasView.OnGameStateChanged(GameState); //canvasView.postInvalidate();
}
@Override
public void SendMove(float x, float y, boolean pointerUp)
{
// TODO Auto-generated method stub
switch(GameState)
{
case GS_PAUSED:
{
if (!pointerUp)
{
SetGameState(GS_RESUME, false);
}
break;
}
}
} }
@Override @Override
@@ -44,10 +52,15 @@ public class GameMenu extends GameStateInterface
switch(GameState) switch(GameState)
{ {
case GS_PAUSED:
{
canvasView.postInvalidate();
break;
}
} }
canvasView.OnGameStateChanged(GameState, isPostBack); if (!isPostBack)
canvasView.OnGameStateChanged(GameState);
} }
@Override @Override
@@ -56,16 +69,11 @@ public class GameMenu extends GameStateInterface
} }
// Set
@Override @Override
public void SetActivity(Activity activity) { public int GetGameState()
// TODO Auto-generated method stub {
return GameState;
}
@Override
public void SetCanvas(CanvasView _CanvasView) {
// TODO Auto-generated method stub
} }
@Override @Override
@@ -74,13 +82,11 @@ public class GameMenu extends GameStateInterface
} }
@Override
public int GetGameState() {
// TODO Auto-generated method stub
return 0;
}
// Internal. // Internal.
CanvasView canvasView; private void ShowPauseMenu()
Activity activity = null; {
// TODO Auto-generated method stub
}
} }
+20 -35
View File
@@ -33,7 +33,7 @@ public class GamePlay extends GameStateInterface
{ {
mp.pause(); mp.pause();
SetGameState(GS_PAUSED); SetGameState(GS_PAUSED, false);
} }
@Override @Override
@@ -52,7 +52,7 @@ public class GamePlay extends GameStateInterface
else else
{ {
mp.start(); mp.start();
SetGameState(GS_PLAYING); SetGameState(GS_PLAYING, false);
} }
} }
} }
@@ -69,28 +69,6 @@ public class GamePlay extends GameStateInterface
} }
} }
@Override
public void SetGameState(int gameState)
{
GameState = gameState;
switch(GameState)
{
case GS_LOAD:
{
Load();
break;
}
case GS_START:
{
StartGame();
break;
}
}
canvasView.OnGameStateChanged(GameState);
}
@Override @Override
public void SetGameState(int gameState, boolean isPostBack) public void SetGameState(int gameState, boolean isPostBack)
{ {
@@ -108,9 +86,15 @@ public class GamePlay extends GameStateInterface
StartGame(); StartGame();
break; break;
} }
case GS_RESUME:
{
Resume();
break;
}
} }
canvasView.OnGameStateChanged(GameState, isPostBack); if (!isPostBack)
canvasView.OnGameStateChanged(GameState);
} }
// Set // Set
@@ -144,10 +128,6 @@ public class GamePlay extends GameStateInterface
return GameState; return GameState;
} }
// Internal.
CanvasView canvasView;
Activity activity = null;
// Variabelen // Variabelen
Resources r; Resources r;
@@ -480,7 +460,7 @@ public class GamePlay extends GameStateInterface
mp.setLooping(true); mp.setLooping(true);
mp.start(); mp.start();
SetGameState(GS_PLAYING); SetGameState(GS_PLAYING, false);
handler.removeCallbacksAndMessages(null); handler.removeCallbacksAndMessages(null);
handler.postDelayed(runnable, 100); handler.postDelayed(runnable, 100);
@@ -488,7 +468,7 @@ public class GamePlay extends GameStateInterface
private void Load() private void Load()
{ {
SetGameState(GS_LOADING); SetGameState(GS_LOADING, false);
// Set Display Info. // Set Display Info.
Display display = activity.getWindowManager().getDefaultDisplay(); Display display = activity.getWindowManager().getDefaultDisplay();
@@ -515,7 +495,7 @@ public class GamePlay extends GameStateInterface
// Audio // Audio
mp = MediaPlayer.create(activity, R.raw.tetris_a); mp = MediaPlayer.create(activity, R.raw.tetris_a);
SetGameState(GS_READY); SetGameState(GS_READY, false);
} }
private void LoadSprites() private void LoadSprites()
@@ -1360,8 +1340,7 @@ public class GamePlay extends GameStateInterface
onPause(); onPause();
else else
{ {
mp.start(); SetGameState(GS_RESUME, false);
SetGameState(GS_PLAYING);
} }
} }
} }
@@ -1378,6 +1357,12 @@ public class GamePlay extends GameStateInterface
} }
} }
private void Resume()
{
mp.start();
SetGameState(GS_PLAYING, false);
}
private void InputsGamePlaying(float x, float y, boolean Released) private void InputsGamePlaying(float x, float y, boolean Released)
{ {
int moveX = (int)((x / Width) * 90); int moveX = (int)((x / Width) * 90);
@@ -1460,7 +1445,7 @@ public class GamePlay extends GameStateInterface
//spawn new block //spawn new block
if (!SpawnBlock()) if (!SpawnBlock())
{ {
SetGameState(GS_GAMEOVER); SetGameState(GS_GAMEOVER, false);
mp.stop(); mp.stop();
canvasView.postInvalidate(); canvasView.postInvalidate();
+21 -10
View File
@@ -9,29 +9,40 @@ public abstract class GameStateInterface
// GameState Parameters // GameState Parameters
final static int GS_STOPPED = 0; final static int GS_STOPPED = 0;
final static int GS_LOADING = 1; final static int GS_LOADING = 1;
final static int GS_PLAYING = 2; final static int GS_PLAYING = 2;
final static int GS_GAMEOVER = 3; final static int GS_GAMEOVER = 3;
final static int GS_PAUSED = 4; final static int GS_PAUSED = 4;
final static int GS_START = 5; final static int GS_START = 5;
final static int GS_LOAD = 6; final static int GS_LOAD = 6;
final static int GS_READY = 7; final static int GS_READY = 7;
final static int GS_RESUME = 8;
// Variabelen.
CanvasView canvasView;
Activity activity = null;
// Methods. // Methods.
public abstract void DrawFrame(Canvas canvas); public abstract void DrawFrame(Canvas canvas);
public abstract void SendMove(float x,float y, boolean pointerUp); public abstract void SendMove(float x,float y, boolean pointerUp);
public abstract void SetGameState(int gameState); //public abstract void SetGameState(int gameState);
public abstract void SetGameState(int gameState, boolean isPostBack); public abstract void SetGameState(int gameState, boolean isPostBack);
public abstract void onPause(); public abstract void onPause();
// SetParameters. // SetParameters.
public abstract void SetActivity(Activity activity); public void SetCanvas(CanvasView _CanvasView)
{
canvasView = _CanvasView;
}
public abstract void SetCanvas(CanvasView _CanvasView); public void SetActivity(Activity _Activity)
{
activity = _Activity;
}
public abstract void SetPayedVersion(boolean payedVersion); public abstract void SetPayedVersion(boolean payedVersion);