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