changed implementation a little from interface to abstract.
This commit is contained in:
@@ -12,6 +12,9 @@ public class CanvasView extends View
|
||||
// Variabelen
|
||||
Resources r;
|
||||
|
||||
GameStateInterface Foreground = null;
|
||||
GameStateInterface Background = null;
|
||||
|
||||
// Score.
|
||||
public int startLevel = 0;
|
||||
|
||||
@@ -23,6 +26,8 @@ public class CanvasView extends View
|
||||
super(context);
|
||||
|
||||
super.setBackgroundColor(Color.BLACK);
|
||||
|
||||
Foreground = new GamePlay();
|
||||
}
|
||||
|
||||
public void SetActivity(Activity activity)
|
||||
@@ -31,6 +36,7 @@ public class CanvasView extends View
|
||||
GamePlay.Instance.SetCanvas(this);
|
||||
GamePlay.Instance.SetStartLevel(startLevel);
|
||||
GamePlay.Instance.SetPayedVersion(PayedVersion);
|
||||
|
||||
GamePlay.Instance.SetGameState(GamePlay.GS_LOAD);
|
||||
|
||||
// Start Game.
|
||||
@@ -53,4 +59,21 @@ public class CanvasView extends View
|
||||
{
|
||||
GamePlay.Instance.SendMove(x, y, pointerUp);
|
||||
}
|
||||
|
||||
public void OnGameStateChanged(int gameState)
|
||||
{
|
||||
switch(gameState)
|
||||
{
|
||||
case GameStateInterface.GS_PAUSED:
|
||||
{
|
||||
|
||||
break;
|
||||
}
|
||||
case GameStateInterface.GS_GAMEOVER:
|
||||
{
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
package mangavalk.tetris;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.graphics.Canvas;
|
||||
|
||||
public class GameMenu extends GameStateInterface
|
||||
{
|
||||
// Instance.
|
||||
public static GameMenu Instance = new GameMenu();
|
||||
|
||||
// GameState.
|
||||
protected int GameState = GS_STOPPED;
|
||||
|
||||
// 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)
|
||||
{
|
||||
GameState = gameState;
|
||||
|
||||
switch(GameState)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
canvasView.OnGameStateChanged(GameState);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPause() {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void SetActivity(Activity activity) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void SetCanvas(CanvasView _CanvasView) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void SetPayedVersion(boolean payedVersion) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public int GetGameState() {
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Internal.
|
||||
CanvasView canvasView;
|
||||
Activity activity = null;
|
||||
}
|
||||
@@ -17,10 +17,10 @@ import android.view.Display;
|
||||
import java.util.ArrayList;
|
||||
import java.util.TimerTask;
|
||||
|
||||
public class GamePlay implements GameStateInterface
|
||||
public class GamePlay extends GameStateInterface
|
||||
{
|
||||
// Instance.
|
||||
public static GameStateInterface Instance = new GamePlay();
|
||||
public static GamePlay Instance = new GamePlay();
|
||||
|
||||
// GameState.
|
||||
protected int GameState = GS_STOPPED;
|
||||
@@ -36,7 +36,7 @@ public class GamePlay implements GameStateInterface
|
||||
{
|
||||
mp.pause();
|
||||
|
||||
GameState = GS_PAUSED;
|
||||
SetGameState(GS_PAUSED);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -55,7 +55,7 @@ public class GamePlay implements GameStateInterface
|
||||
else
|
||||
{
|
||||
mp.start();
|
||||
GameState = GS_PLAYING;
|
||||
SetGameState(GS_PLAYING);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -73,7 +73,8 @@ public class GamePlay implements GameStateInterface
|
||||
}
|
||||
|
||||
@Override
|
||||
public void SetGameState(int gameState) {
|
||||
public void SetGameState(int gameState)
|
||||
{
|
||||
GameState = gameState;
|
||||
|
||||
switch(GameState)
|
||||
@@ -89,6 +90,8 @@ public class GamePlay implements GameStateInterface
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
canvasView.OnGameStateChanged(GameState);
|
||||
}
|
||||
|
||||
// Set
|
||||
@@ -104,7 +107,6 @@ public class GamePlay implements GameStateInterface
|
||||
activity = _Activity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void SetStartLevel(int StartLevel)
|
||||
{
|
||||
startLevel = StartLevel;
|
||||
@@ -459,7 +461,7 @@ public class GamePlay implements GameStateInterface
|
||||
mp.setLooping(true);
|
||||
mp.start();
|
||||
|
||||
GameState = GS_PLAYING;
|
||||
SetGameState(GS_PLAYING);
|
||||
|
||||
handler.removeCallbacksAndMessages(null);
|
||||
handler.postDelayed(runnable, 100);
|
||||
@@ -467,7 +469,7 @@ public class GamePlay implements GameStateInterface
|
||||
|
||||
private void Load()
|
||||
{
|
||||
GameState = GS_LOADING;
|
||||
SetGameState(GS_LOADING);
|
||||
|
||||
// Set Display Info.
|
||||
Display display = activity.getWindowManager().getDefaultDisplay();
|
||||
@@ -494,7 +496,7 @@ public class GamePlay implements GameStateInterface
|
||||
// Audio
|
||||
mp = MediaPlayer.create(activity, R.raw.tetris_a);
|
||||
|
||||
GameState = GS_READY;
|
||||
SetGameState(GS_READY);
|
||||
}
|
||||
|
||||
private void LoadSprites()
|
||||
@@ -1340,7 +1342,7 @@ public class GamePlay implements GameStateInterface
|
||||
else
|
||||
{
|
||||
mp.start();
|
||||
GameState = GS_PLAYING;
|
||||
SetGameState(GS_PLAYING);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1439,7 +1441,7 @@ public class GamePlay implements GameStateInterface
|
||||
//spawn new block
|
||||
if (!SpawnBlock())
|
||||
{
|
||||
GameState = GS_GAMEOVER;
|
||||
SetGameState(GS_GAMEOVER);
|
||||
|
||||
mp.stop();
|
||||
canvasView.postInvalidate();
|
||||
|
||||
@@ -3,36 +3,34 @@ package mangavalk.tetris;
|
||||
import android.app.Activity;
|
||||
import android.graphics.Canvas;
|
||||
|
||||
public interface GameStateInterface
|
||||
public abstract class GameStateInterface
|
||||
{
|
||||
// GameState Parameters
|
||||
final int GS_STOPPED = 0;
|
||||
final int GS_LOADING = 1;
|
||||
final int GS_PLAYING = 2;
|
||||
final int GS_GAMEOVER = 3;
|
||||
final int GS_PAUSED = 4;
|
||||
final int GS_START = 5;
|
||||
final int GS_LOAD = 6;
|
||||
final int GS_READY = 7;
|
||||
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;
|
||||
|
||||
// Methods.
|
||||
public void DrawFrame(Canvas canvas);
|
||||
public abstract void DrawFrame(Canvas canvas);
|
||||
|
||||
public void SendMove(float x,float y, boolean pointerUp);
|
||||
public abstract void SendMove(float x,float y, boolean pointerUp);
|
||||
|
||||
public void SetGameState(int gameState);
|
||||
public abstract void SetGameState(int gameState);
|
||||
|
||||
public void onPause();
|
||||
public abstract void onPause();
|
||||
|
||||
// SetParameters.
|
||||
public void SetActivity(Activity activity);
|
||||
public abstract void SetActivity(Activity activity);
|
||||
|
||||
public void SetCanvas(CanvasView _CanvasView);
|
||||
public abstract void SetCanvas(CanvasView _CanvasView);
|
||||
|
||||
public void SetStartLevel(int startLevel);
|
||||
|
||||
public void SetPayedVersion(boolean payedVersion);
|
||||
public abstract void SetPayedVersion(boolean payedVersion);
|
||||
|
||||
// Get
|
||||
public int GetGameState();
|
||||
public abstract int GetGameState();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user