-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGameView.java
More file actions
68 lines (59 loc) · 1.71 KB
/
GameView.java
File metadata and controls
68 lines (59 loc) · 1.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
package com.ezardlabs.dethsquare.util;
import android.content.Context;
import android.opengl.GLSurfaceView;
import android.util.AttributeSet;
import android.view.MotionEvent;
import com.ezardlabs.dethsquare.Input;
public class GameView extends GLSurfaceView {
private final GLRenderer mRenderer;
public GameView(Context context) {
super(context);
setEGLContextClientVersion(2);
mRenderer = new GLRenderer((BaseGame) context);
setRenderer(mRenderer);
}
public GameView(Context context, AttributeSet attrs) {
super(context, attrs);
setEGLContextClientVersion(2);
mRenderer = new GLRenderer((BaseGame) context);
setRenderer(mRenderer);
}
@Override
public void onPause() {
super.onPause();
mRenderer.onPause();
Utils.pauseAllAudio();
}
@Override
public void onResume() {
super.onResume();
mRenderer.onResume();
Utils.resumeAllAudio();
}
@Override
public boolean onTouchEvent(MotionEvent event) {
int index = event.getActionIndex();
int id = event.getPointerId(event.getActionIndex());
switch(event.getActionMasked()) {
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_POINTER_DOWN:
Input.addTouch(id, event.getX(index), event.getY(index));
break;
case MotionEvent.ACTION_OUTSIDE:
case MotionEvent.ACTION_CANCEL:
Input.cancelTouch(id, event.getX(index), event.getY(index));
break;
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_POINTER_UP:
Input.removeTouch(id, event.getX(index), event.getY(index));
break;
case MotionEvent.ACTION_MOVE:
Input.moveTouch(id, event.getX(index), event.getY(index));
break;
}
return true;
}
public void onSizeChanged(int w, int h, int oldw, int oldh) {
((BaseGame) getContext()).onResize(w, h);
}
}