intergration of switchable abstract classes

This commit is contained in:
Administrator
2014-02-19 17:10:52 +01:00
parent f79361c06a
commit 812308b869
4 changed files with 81 additions and 16 deletions
+43 -15
View File
@@ -13,7 +13,8 @@ public class CanvasView extends View
Resources r; Resources r;
GameStateInterface Foreground = null; GameStateInterface Foreground = null;
GameStateInterface Background = null; GameStateInterface Gamemenu = null;
GameStateInterface Gameplay = null;
// Score. // Score.
public int startLevel = 0; public int startLevel = 0;
@@ -27,52 +28,79 @@ public class CanvasView extends View
super.setBackgroundColor(Color.BLACK); super.setBackgroundColor(Color.BLACK);
Foreground = new GamePlay(); Gameplay = new GamePlay();
Foreground.Instance = Foreground; //Gameplay.Instance = Gameplay;
Gamemenu = new GameMenu();
//Gamemenu.Instance = Gamemenu;
} }
public void SetActivity(Activity activity) public void SetActivity(Activity activity)
{ {
((GamePlay)Foreground.Instance).Instance.SetActivity(activity); Gamemenu.SetActivity(activity);
((GamePlay)Foreground.Instance).SetCanvas(this); Gamemenu.SetCanvas(this);
((GamePlay)Foreground.Instance).SetStartLevel(startLevel); Gamemenu.SetPayedVersion(PayedVersion);
((GamePlay)Foreground.Instance).SetPayedVersion(PayedVersion);
((GamePlay)Foreground.Instance).SetGameState(GamePlay.GS_LOAD); Gameplay.SetActivity(activity);
Gameplay.SetCanvas(this);
Gameplay.SetPayedVersion(PayedVersion);
Foreground = Gamemenu;
// Game Start. First Load
((GamePlay)Gameplay).SetStartLevel(startLevel);
((GamePlay)Gameplay).SetGameState(GamePlay.GS_LOAD);
// Start Game. // Start Game.
if (((GamePlay)Foreground.Instance).GetGameState() == GamePlay.GS_READY) if (((GamePlay)Gameplay).GetGameState() == GameStateInterface.GS_READY)
((GamePlay)Foreground.Instance).SetGameState(GamePlay.GS_START); ((GamePlay)Gameplay).SetGameState(GameStateInterface.GS_START);
} }
@Override @Override
protected void onDraw(Canvas canvas) protected void onDraw(Canvas canvas)
{ {
Foreground.Instance.DrawFrame(canvas); Foreground.DrawFrame(canvas);
} }
public void onPause() public void onPause()
{ {
Foreground.Instance.onPause(); Foreground.onPause();
} }
public void sendMove(float x, float y, boolean pointerUp) public void sendMove(float x, float y, boolean pointerUp)
{ {
Foreground.Instance.SendMove(x, y, pointerUp); Foreground.SendMove(x, y, pointerUp);
} }
public void OnGameStateChanged(int gameState) public void OnGameStateChanged(int gameState)
{
gameStateChanged(gameState);
}
public void OnGameStateChanged(int gameState, boolean isPostBack)
{
if (isPostBack == false)
gameStateChanged(gameState);
}
private void gameStateChanged(int gameState)
{ {
switch(gameState) switch(gameState)
{ {
case GameStateInterface.GS_READY:
{
Foreground = Gameplay;
break;
}
case GameStateInterface.GS_PAUSED: case GameStateInterface.GS_PAUSED:
{ {
//Gamemenu.SetGameState(Foreground.GetGameState(), true);
Foreground = Gamemenu;
break; break;
} }
case GameStateInterface.GS_GAMEOVER: case GameStateInterface.GS_GAMEOVER:
{ {
Foreground = Gamemenu;
break; break;
} }
} }
+13
View File
@@ -37,6 +37,19 @@ public class GameMenu extends GameStateInterface
canvasView.OnGameStateChanged(GameState); canvasView.OnGameStateChanged(GameState);
} }
@Override
public void SetGameState(int gameState, boolean isPostBack)
{
GameState = gameState;
switch(GameState)
{
}
canvasView.OnGameStateChanged(GameState, isPostBack);
}
@Override @Override
public void onPause() { public void onPause() {
// TODO Auto-generated method stub // TODO Auto-generated method stub
+22
View File
@@ -91,6 +91,28 @@ public class GamePlay extends GameStateInterface
canvasView.OnGameStateChanged(GameState); canvasView.OnGameStateChanged(GameState);
} }
@Override
public void SetGameState(int gameState, boolean isPostBack)
{
GameState = gameState;
switch(GameState)
{
case GS_LOAD:
{
Load();
break;
}
case GS_START:
{
StartGame();
break;
}
}
canvasView.OnGameStateChanged(GameState, isPostBack);
}
// Set // Set
@Override @Override
public void SetCanvas(CanvasView _CanvasView) public void SetCanvas(CanvasView _CanvasView)
+3 -1
View File
@@ -5,7 +5,7 @@ import android.graphics.Canvas;
public abstract class GameStateInterface public abstract class GameStateInterface
{ {
public GameStateInterface Instance; //public GameStateInterface Instance;
// GameState Parameters // GameState Parameters
final static int GS_STOPPED = 0; final static int GS_STOPPED = 0;
@@ -24,6 +24,8 @@ public abstract class GameStateInterface
public abstract void SetGameState(int gameState); public abstract void SetGameState(int gameState);
public abstract void SetGameState(int gameState, boolean isPostBack);
public abstract void onPause(); public abstract void onPause();
// SetParameters. // SetParameters.