package mangavalk.tetris; import android.app.Activity; import android.graphics.Canvas; import android.graphics.Color; import android.media.MediaPlayer; public class GameMenu extends GameStateInterface { // GameState. protected int GameState = GS_STOPPED; public GameMenu(Activity activity) { super(activity); } // Methods. @Override public void DrawFrame(Canvas canvas) { switch(GameState) { case GS_MENU_READY: { ShowMenu(canvas); break; } case GS_PAUSED: { ShowPauseMenu(canvas); break; } case GS_GAMEOVER: { ShowGameOverMenu(canvas); break; } } } @Override public void SendMove(float x, float y, boolean pointerUp) { switch(GameState) { case GS_MENU_READY: { if (!pointerUp) { SetGameState(GS_MENU_START, false); } break; } case GS_PAUSED: { if (!pointerUp) { SetGameState(GS_RESUME, false); } break; } case GS_GAMEOVER: { SetGameState(GS_MENU_READY, false); canvasView.postInvalidate(); break; } } } @Override public void SetGameState(int gameState, boolean isPostBack) { GameState = gameState; switch(GameState) { /*case GS_LOAD: { Load(); break; }*/ /*case GS_READY: { canvasView.postInvalidate(); break; }*/ case GS_PAUSED: { canvasView.postInvalidate(); break; } case GS_GAMEOVER: { canvasView.postInvalidate(); break; } } if (!isPostBack) canvasView.OnGameStateChanged(GameState); } @Override public void onPause() { // TODO Auto-generated method stub } // Set @Override public int GetGameState() { return GameState; } @Override public void SetPayedVersion(boolean payedVersion) { // TODO Auto-generated method stub } // Internal. // Audio. MediaPlayer mp; // TODO game state @Override public void Load() { // Load Bitmap's. //LoadSprites(); //LoadFont(); // Initlialize. // Audio mp = MediaPlayer.create(activity, R.raw.tetris_a); } @Override public void Start() { GameState = GS_MENU_READY; canvasView.postInvalidate(); } // Draw functions. private void ShowMenu(Canvas canvas) { Rect(canvas, 0f, 160f, 0f, 90f, Color.BLUE); } private void ShowPauseMenu(Canvas canvas) { Rect(canvas, 0f, 160f, 0f, 90f, Color.RED); } private void ShowGameOverMenu(Canvas canvas) { Rect(canvas, 0f, 160f, 0f, 90f, Color.parseColor("lime")); } @Override public void SendMove(int angle, int speed) { // TODO Auto-generated method stub } }