Files
Tetris/old/GameMenu.java
T

173 lines
3.6 KiB
Java
Raw Normal View History

package mangavalk.tetris;
2014-02-21 11:47:41 +01:00
import android.app.Activity;
import android.graphics.Canvas;
2014-02-20 12:13:55 +01:00
import android.graphics.Color;
2014-02-20 12:09:10 +01:00
import android.media.MediaPlayer;
public class GameMenu extends GameStateInterface
{
// GameState.
protected int GameState = GS_STOPPED;
2014-02-21 11:47:41 +01:00
public GameMenu(Activity activity)
{
super(activity);
}
// Methods.
@Override
public void DrawFrame(Canvas canvas)
{
switch(GameState)
{
2014-02-20 12:13:55 +01:00
case GS_MENU_READY:
{
ShowMenu(canvas);
break;
}
case GS_PAUSED:
{
2014-02-20 12:13:55 +01:00
ShowPauseMenu(canvas);
break;
}
2014-02-20 17:04:40 +01:00
case GS_GAMEOVER:
{
ShowGameOverMenu(canvas);
break;
}
}
}
@Override
public void SendMove(float x, float y, boolean pointerUp)
{
switch(GameState)
{
2014-02-20 12:09:10 +01:00
case GS_MENU_READY:
{
if (!pointerUp)
{
SetGameState(GS_MENU_START, false);
}
break;
}
case GS_PAUSED:
{
if (!pointerUp)
{
SetGameState(GS_RESUME, false);
}
break;
}
2014-02-21 10:02:16 +01:00
case GS_GAMEOVER:
{
SetGameState(GS_MENU_READY, false);
canvasView.postInvalidate();
break;
}
}
}
2014-02-19 17:10:52 +01:00
@Override
public void SetGameState(int gameState, boolean isPostBack)
{
GameState = gameState;
switch(GameState)
{
2014-02-21 13:14:55 +01:00
/*case GS_LOAD:
2014-02-20 12:09:10 +01:00
{
Load();
break;
2014-02-21 13:14:55 +01:00
}*/
/*case GS_READY:
2014-02-20 12:09:10 +01:00
{
canvasView.postInvalidate();
break;
2014-02-21 13:14:55 +01:00
}*/
case GS_PAUSED:
{
canvasView.postInvalidate();
break;
}
2014-02-20 17:04:40 +01:00
case GS_GAMEOVER:
{
canvasView.postInvalidate();
break;
}
2014-02-19 17:10:52 +01:00
}
if (!isPostBack)
canvasView.OnGameStateChanged(GameState);
2014-02-19 17:10:52 +01:00
}
@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.
2014-02-20 12:09:10 +01:00
// Audio.
MediaPlayer mp;
2014-02-21 13:14:55 +01:00
// TODO game state
@Override
public void Load()
2014-02-20 12:09:10 +01:00
{
// Load Bitmap's.
//LoadSprites();
//LoadFont();
// Initlialize.
// Audio
mp = MediaPlayer.create(activity, R.raw.tetris_a);
2014-02-21 13:14:55 +01:00
}
2014-02-20 12:09:10 +01:00
2014-02-21 13:14:55 +01:00
@Override
public void Start()
{
GameState = GS_MENU_READY;
canvasView.postInvalidate();
2014-02-20 12:09:10 +01:00
}
// Draw functions.
2014-02-20 12:13:55 +01:00
private void ShowMenu(Canvas canvas)
{
2014-02-20 12:13:55 +01:00
Rect(canvas, 0f, 160f, 0f, 90f, Color.BLUE);
}
2014-02-20 12:13:55 +01:00
private void ShowPauseMenu(Canvas canvas)
{
Rect(canvas, 0f, 160f, 0f, 90f, Color.RED);
}
2014-02-20 12:09:10 +01:00
2014-02-20 17:04:40 +01:00
private void ShowGameOverMenu(Canvas canvas)
{
Rect(canvas, 0f, 160f, 0f, 90f, Color.parseColor("lime"));
}
2014-04-17 12:22:29 +02:00
@Override
public void SendMove(int angle, int speed) {
// TODO Auto-generated method stub
}
}