Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
YGOMobile
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
fallenstardust
YGOMobile
Commits
7b8c2f18
Commit
7b8c2f18
authored
Sep 26, 2021
by
qq247321453
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
做成开关
parent
4c4f77ba
Changes
17
Show whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
199 additions
and
60 deletions
+199
-60
Classes/gframe/game.cpp
Classes/gframe/game.cpp
+12
-1
Classes/gframe/game.h
Classes/gframe/game.h
+22
-1
Classes/gframe/gframe.cpp
Classes/gframe/gframe.cpp
+1
-0
libcore/android/android_tools.cpp
libcore/android/android_tools.cpp
+36
-3
libcore/android/android_tools.h
libcore/android/android_tools.h
+5
-1
libcore/jni/Application.mk
libcore/jni/Application.mk
+1
-1
libcore/jni/cn_garymb_ygomobile_core_IrrlichtBridge.cpp
libcore/jni/cn_garymb_ygomobile_core_IrrlichtBridge.cpp
+8
-0
libcore/src/main/java/cn/garymb/ygomobile/YGOMobileActivity.java
.../src/main/java/cn/garymb/ygomobile/YGOMobileActivity.java
+71
-23
libcore/src/main/java/cn/garymb/ygomobile/controller/InputQueueCompat.java
...java/cn/garymb/ygomobile/controller/InputQueueCompat.java
+6
-0
libcore/src/main/java/cn/garymb/ygomobile/core/GameActivity.java
.../src/main/java/cn/garymb/ygomobile/core/GameActivity.java
+10
-28
libcore/src/main/java/cn/garymb/ygomobile/core/IrrlichtBridge.java
...rc/main/java/cn/garymb/ygomobile/core/IrrlichtBridge.java
+10
-0
libcore/src/main/res/values-ko/strings.xml
libcore/src/main/res/values-ko/strings.xml
+1
-0
libcore/src/main/res/values-zh/strings.xml
libcore/src/main/res/values-zh/strings.xml
+1
-0
libcore/src/main/res/values/strings.xml
libcore/src/main/res/values/strings.xml
+1
-0
mobile/proguard-rules.pro
mobile/proguard-rules.pro
+12
-1
mobile/src/main/java/cn/garymb/ygomobile/loader/CardLoader.java
.../src/main/java/cn/garymb/ygomobile/loader/CardLoader.java
+0
-1
mobile/src/main/java/cn/garymb/ygomobile/ui/home/HomeActivity.java
...c/main/java/cn/garymb/ygomobile/ui/home/HomeActivity.java
+2
-0
No files found.
Classes/gframe/game.cpp
View file @
7b8c2f18
...
...
@@ -27,6 +27,15 @@ namespace ygo {
Game
*
mainGame
;
void
Game
::
process
(
irr
::
SEvent
&
event
)
{
if
(
event
.
EventType
==
EET_MOUSE_INPUT_EVENT
)
{
s32
x
=
event
.
MouseInput
.
X
;
s32
y
=
event
.
MouseInput
.
Y
;
event
.
MouseInput
.
X
=
optX
(
x
);
event
.
MouseInput
.
Y
=
optY
(
y
);
}
}
#ifdef _IRR_ANDROID_PLATFORM_
void
Game
::
stopBGM
()
{
...
...
@@ -114,7 +123,9 @@ bool Game::Initialize(ANDROID_APP app, android::InitOptions *options) {
if
(
!
android
::
perfromTrick
(
app
))
{
return
false
;
}
android
::
initJavaBridge
(
app
,
device
);
core
::
position2di
appPosition
=
android
::
initJavaBridge
(
app
,
device
);
setPositionFix
(
appPosition
);
device
->
setProcessReceiver
(
this
);
app
->
onInputEvent
=
android
::
handleInput
;
ILogger
*
logger
=
device
->
getLogger
();
...
...
Classes/gframe/game.h
View file @
7b8c2f18
...
...
@@ -129,7 +129,7 @@ struct FadingUnit {
irr
::
core
::
vector2di
fadingDiff
;
};
class
Game
{
class
Game
:
IProcessEventReceiver
{
public:
#ifdef _IRR_ANDROID_PLATFORM_
...
...
@@ -662,6 +662,27 @@ public:
Signal
externalSignal
;
static
void
onHandleAndroidCommand
(
ANDROID_APP
app
,
int32_t
cmd
);
#endif
void
setPositionFix
(
core
::
position2di
fix
){
InputFix
=
fix
;
}
float
optX
(
float
x
)
{
float
x2
=
x
-
InputFix
.
X
;
if
(
x2
<
0
)
{
return
0
;
}
return
x2
;
}
float
optY
(
float
y
)
{
float
y2
=
y
-
InputFix
.
Y
;
if
(
y2
<
0
)
{
return
0
;
}
return
y2
;
}
void
process
(
irr
::
SEvent
&
event
);
private:
core
::
position2di
InputFix
;
};
extern
Game
*
mainGame
;
...
...
Classes/gframe/gframe.cpp
View file @
7b8c2f18
...
...
@@ -40,6 +40,7 @@ int GetListBoxIndex(IGUIListBox* listbox, const wchar_t * target){
return
-
1
;
}
void
android_main
(
ANDROID_APP
app
)
{
app
->
inputPollSource
.
process
=
android
::
process_input
;
#else
int
main
(
int
argc
,
char
*
argv
[])
{
#endif
...
...
libcore/android/android_tools.cpp
View file @
7b8c2f18
...
...
@@ -749,9 +749,9 @@ void toggleGlobalIME(ANDROID_APP app, bool pShow) {
app
->
activity
->
vm
->
DetachCurrentThread
();
}
void
initJavaBridge
(
ANDROID_APP
app
,
void
*
handle
)
{
core
::
position2di
initJavaBridge
(
ANDROID_APP
app
,
void
*
handle
)
{
if
(
!
app
||
!
app
->
activity
||
!
app
->
activity
->
vm
)
return
;
return
core
::
position2di
(
0
,
0
)
;
JNIEnv
*
jni
=
nullptr
;
app
->
activity
->
vm
->
AttachCurrentThread
(
&
jni
,
NULL
);
jobject
lNativeActivity
=
app
->
activity
->
clazz
;
...
...
@@ -760,9 +760,18 @@ void initJavaBridge(ANDROID_APP app, void* handle) {
"setNativeHandle"
,
"(J)V"
);
jlong
code
=
(
jlong
)
handle
;
jni
->
CallVoidMethod
(
lNativeActivity
,
MethodSetHandle
,
code
);
jmethodID
methodX
=
jni
->
GetMethodID
(
ClassNativeActivity
,
"getPositionX"
,
"()I"
);
jint
posX
=
jni
->
CallIntMethod
(
lNativeActivity
,
methodX
);
jmethodID
methodY
=
jni
->
GetMethodID
(
ClassNativeActivity
,
"getPositionY"
,
"()I"
);
jint
posY
=
jni
->
CallIntMethod
(
lNativeActivity
,
methodY
);
jni
->
DeleteLocalRef
(
ClassNativeActivity
);
app
->
activity
->
vm
->
DetachCurrentThread
();
__android_log_print
(
ANDROID_LOG_INFO
,
"ygo"
,
"Android command initJavaBridge"
);
__android_log_print
(
ANDROID_LOG_INFO
,
"ygo"
,
"Android command initJavaBridge posX=%d, posY=%d"
,
posX
,
posY
);
return
core
::
position2di
((
int
)
posX
,
(
int
)
posY
);
}
InitOptions
*
getInitOptions
(
ANDROID_APP
app
)
{
...
...
@@ -860,6 +869,30 @@ void toggleOverlayView(ANDROID_APP app, bool pShow) {
app
->
activity
->
vm
->
DetachCurrentThread
();
}
void
process_input
(
ANDROID_APP
app
,
struct
android_poll_source
*
source
)
{
AInputEvent
*
event
=
NULL
;
if
(
AInputQueue_getEvent
(
app
->
inputQueue
,
&
event
)
>=
0
)
{
int
type
=
AInputEvent_getType
(
event
);
bool
skip_predispatch
=
AInputEvent_getType
(
event
)
==
AINPUT_EVENT_TYPE_KEY
&&
AKeyEvent_getKeyCode
(
event
)
==
AKEYCODE_BACK
;
// skip predispatch (all it does is send to the IME)
if
(
!
skip_predispatch
&&
AInputQueue_preDispatchEvent
(
app
->
inputQueue
,
event
))
{
return
;
}
int32_t
handled
=
0
;
if
(
app
->
onInputEvent
!=
NULL
)
handled
=
app
->
onInputEvent
(
app
,
event
);
AInputQueue_finishEvent
(
app
->
inputQueue
,
event
,
handled
);
}
else
{
// LOGE("Failure reading next input event: %s\n", strerror(errno));
}
}
void
onGameExit
(
ANDROID_APP
app
){
if
(
!
app
||
!
app
->
activity
||
!
app
->
activity
->
vm
)
return
;
...
...
libcore/android/android_tools.h
View file @
7b8c2f18
...
...
@@ -126,7 +126,7 @@ extern void toggleGlobalIME(ANDROID_APP app, bool pShow);
extern
void
toggleIME
(
ANDROID_APP
app
,
bool
pShow
,
const
char
*
hint
);
//Init Java Irrlicht world.
extern
void
initJavaBridge
(
ANDROID_APP
app
,
void
*
handle
);
extern
core
::
position2di
initJavaBridge
(
ANDROID_APP
app
,
void
*
handle
);
//Cause a haptic feedback.
extern
void
perfromHapticFeedback
(
ANDROID_APP
app
);
...
...
@@ -186,6 +186,10 @@ extern bool getFontAntiAlias(ANDROID_APP app);
extern
void
showAndroidComboBoxCompat
(
ANDROID_APP
app
,
bool
pShow
,
char
**
pContents
,
int
count
,
int
mode
=
0
);
/* android event handlers*/
extern
void
process_input
(
ANDROID_APP
app
,
struct
android_poll_source
*
source
);
extern
s32
handleInput
(
ANDROID_APP
app
,
AInputEvent
*
androidEvent
);
extern
bool
android_deck_delete
(
const
char
*
deck_name
);
...
...
libcore/jni/Application.mk
View file @
7b8c2f18
APP_ABI
:=
arm
64-v8a
#armeabi-v7
a x86
APP_ABI
:=
arm
eabi-v7a //arm64-v8
a x86
APP_PLATFORM
:=
android-21
#APP_MODULES := YGOMobile
#NDK_TOOLCHAIN_VERSION=4.8
...
...
libcore/jni/cn_garymb_ygomobile_core_IrrlichtBridge.cpp
View file @
7b8c2f18
...
...
@@ -294,6 +294,14 @@ static void* join_game_thread(void* param) {
}
}
JNIEXPORT
void
JNICALL
Java_cn_garymb_ygomobile_core_IrrlichtBridge_nativeSetInputFix
(
JNIEnv
*
env
,
jclass
clazz
,
jlong
handle
,
jint
x
,
jint
y
)
{
if
(
ygo
::
mainGame
)
{
ALOGD
(
"setInputFix posX=%d, posY=%d"
,
x
,
y
);
ygo
::
mainGame
->
setPositionFix
(
core
::
position2di
(
x
,
y
));
}
}
static
void
*
cancel_chain_thread
(
void
*
param
)
{
IrrlichtDevice
*
device
=
(
IrrlichtDevice
*
)
param
;
irr
::
os
::
Printer
::
log
(
"before send cancel chain"
);
...
...
libcore/src/main/java/cn/garymb/ygomobile/YGOMobileActivity.java
View file @
7b8c2f18
...
...
@@ -18,8 +18,6 @@ import android.view.HapticFeedbackConstants;
import
android.view.KeyEvent
;
import
android.view.MotionEvent
;
import
android.view.View
;
import
android.widget.FrameLayout
;
import
android.widget.ImageView
;
import
android.widget.PopupWindow
;
import
android.widget.TextView
;
import
android.widget.Toast
;
...
...
@@ -51,7 +49,7 @@ public class YGOMobileActivity extends GameActivity implements
TextView
.
OnEditorActionListener
,
OverlayOvalView
.
OnDuelOptionsSelectListener
{
private
static
final
String
TAG
=
YGOMobileActivity
.
class
.
getSimpleName
();
private
static
final
boolean
DEBUG
=
tru
e
;
private
static
final
boolean
DEBUG
=
fals
e
;
private
static
final
int
CHAIN_CONTROL_PANEL_X_POSITION_LEFT_EDGE
=
205
;
private
static
final
int
CHAIN_CONTROL_PANEL_Y_REVERT_POSITION
=
100
;
private
static
final
int
MAX_REFRESH
=
30
*
1000
;
...
...
@@ -70,13 +68,14 @@ public class YGOMobileActivity extends GameActivity implements
private
NetworkController
mNetController
;
private
volatile
boolean
mOverlayShowRequest
=
false
;
private
volatile
int
mCompatGUIMode
;
// private static int sChainControlXPostion = -1;
// private static int sChainControlXPostion = -1;
// private static int sChainControlYPostion = -1;
private
GameApplication
mApp
;
private
FullScreenUtils
mFullScreenUtils
;
private
volatile
int
mPositionX
,
mPositionY
;
private
String
[]
mArgV
;
private
boolean
onGameExiting
;
private
static
final
boolean
blockKey
=
false
;
private
GameApplication
app
()
{
...
...
@@ -96,6 +95,8 @@ public class YGOMobileActivity extends GameActivity implements
@Override
protected
void
initBeforeOnCreate
()
{
mPositionX
=
0
;
mPositionY
=
0
;
mFullScreenUtils
=
new
FullScreenUtils
(
this
,
app
().
isImmerSiveMode
());
mFullScreenUtils
.
fullscreen
();
mFullScreenUtils
.
onCreate
();
...
...
@@ -155,17 +156,6 @@ public class YGOMobileActivity extends GameActivity implements
}
}
private
void
initPostion
()
{
// final Resources res = getResources();
// sChainControlXPostion = (int) (CHAIN_CONTROL_PANEL_X_POSITION_LEFT_EDGE * app()
// .getXScale());
// sChainControlYPostion = (int) (app().getSmallerSize()
// - CHAIN_CONTROL_PANEL_Y_REVERT_POSITION
// * app().getYScale() - (res
// .getDimensionPixelSize(R.dimen.chain_control_button_height) * 2 + res
// .getDimensionPixelSize(R.dimen.chain_control_margin)));
}
@Override
protected
void
onNewIntent
(
Intent
intent
)
{
super
.
onNewIntent
(
intent
);
...
...
@@ -197,6 +187,9 @@ public class YGOMobileActivity extends GameActivity implements
if
(
app
().
isImmerSiveMode
())
{
mFullScreenUtils
.
fullscreen
();
app
().
attachGame
(
this
);
if
(
USE_SURFACE
)
{
changeGameSize
();
}
}
}
...
...
@@ -216,10 +209,25 @@ public class YGOMobileActivity extends GameActivity implements
return
new
Size
(
w
,
h
);
}
@Override
public
int
getPositionX
()
{
synchronized
(
this
)
{
return
mPositionX
;
}
}
@Override
public
int
getPositionY
()
{
synchronized
(
this
)
{
return
mPositionY
;
}
}
@Override
public
void
setContentView
(
View
view
)
{
super
.
setContentView
(
view
);
app
().
attachGame
(
this
);
changeGameSize
();
//可以通过mLayout.addView添加view,增加功能
//test code
// int size = (int) (getResources().getDisplayMetrics().density * 100);
...
...
@@ -236,6 +244,29 @@ public class YGOMobileActivity extends GameActivity implements
// mLayout.addView(imageView, lp);
}
private
void
changeGameSize
()
{
if
(
USE_MY_INPUT
)
{
return
;
}
//游戏大小
Size
size
=
getGameWindowSize
();
int
w
=
(
int
)
app
().
getScreenHeight
();
int
h
=
(
int
)
app
().
getScreenWidth
();
int
spX
=
(
int
)
((
w
-
size
.
getWidth
())
/
2.0f
);
int
spY
=
(
int
)
((
h
-
size
.
getHeight
())
/
2.0f
);
boolean
update
=
false
;
synchronized
(
this
)
{
if
(
spX
!=
mPositionX
||
spY
!=
mPositionY
)
{
mPositionX
=
spX
;
mPositionY
=
spY
;
update
=
true
;
}
}
if
(
update
)
{
IrrlichtBridge
.
setInputFix
(
mPositionX
,
mPositionY
);
}
}
private
void
initExtraView
()
{
mContentView
=
getWindow
().
getDecorView
().
findViewById
(
android
.
R
.
id
.
content
);
mGlobalComboBox
=
new
ComboBoxCompat
(
this
);
...
...
@@ -437,7 +468,30 @@ public class YGOMobileActivity extends GameActivity implements
});
}
private
long
lasttime
;
@Override
public
boolean
onKeyDown
(
int
keyCode
,
KeyEvent
event
)
{
if
(
blockKey
&&
USE_MY_INPUT
)
{
if
(
keyCode
!=
KeyEvent
.
KEYCODE_VOLUME_DOWN
&&
keyCode
!=
KeyEvent
.
KEYCODE_VOLUME_UP
)
{
sendInputEvent
(
event
,
false
);
return
true
;
}
}
return
super
.
onKeyDown
(
keyCode
,
event
);
}
@Override
public
boolean
onKeyUp
(
int
keyCode
,
KeyEvent
event
)
{
if
(
blockKey
&&
USE_MY_INPUT
)
{
if
(
keyCode
!=
KeyEvent
.
KEYCODE_VOLUME_DOWN
&&
keyCode
!=
KeyEvent
.
KEYCODE_VOLUME_UP
)
{
sendInputEvent
(
event
,
false
);
return
true
;
}
}
return
super
.
onKeyUp
(
keyCode
,
event
);
}
@Override
public
void
onBackPressed
()
{
...
...
@@ -449,12 +503,6 @@ public class YGOMobileActivity extends GameActivity implements
mGlobalEditText
.
dismiss
();
return
;
}
if
(
lasttime
==
0
||
(
System
.
currentTimeMillis
()
-
lasttime
)
>
1000
)
{
lasttime
=
System
.
currentTimeMillis
();
Toast
.
makeText
(
this
,
R
.
string
.
tip_exit_game
,
Toast
.
LENGTH_SHORT
).
show
();
return
;
}
onGameExit
();
}
@Override
...
...
libcore/src/main/java/cn/garymb/ygomobile/controller/InputQueueCompat.java
View file @
7b8c2f18
...
...
@@ -107,6 +107,12 @@ public class InputQueueCompat implements InvocationHandler {
return
inputQueue
;
}
/**
*
* @param e
* @param token
* @param predispatch 跳过输入法
*/
public
void
sendInputEvent
(
InputEvent
e
,
Object
token
,
boolean
predispatch
)
{
if
(
sendInputEvent_method
==
null
)
{
...
...
libcore/src/main/java/cn/garymb/ygomobile/core/GameActivity.java
View file @
7b8c2f18
...
...
@@ -6,6 +6,7 @@ import android.os.Bundle;
import
android.util.Log
;
import
android.util.Size
;
import
android.view.Gravity
;
import
android.view.InputEvent
;
import
android.view.MotionEvent
;
import
android.view.SurfaceHolder
;
import
android.view.SurfaceView
;
...
...
@@ -19,10 +20,10 @@ public abstract class GameActivity extends NativeActivity {
protected
SurfaceView
mSurfaceView
;
private
boolean
replaced
=
false
;
//自定义surface,方便控制窗口大小
pr
ivate
static
final
boolean
USE_SURFACE
=
true
;
//
精准触摸事件
pr
ivate
static
final
boolean
USE_MY_INPUT
=
true
;
pr
otected
InputQueueCompat
inputQueueCompat
;
pr
otected
static
final
boolean
USE_SURFACE
=
true
;
//
接管系统触摸事件,再次分发给游戏
pr
otected
static
final
boolean
USE_MY_INPUT
=
true
;
pr
ivate
InputQueueCompat
inputQueueCompat
;
@Override
protected
final
void
onCreate
(
Bundle
savedInstanceState
)
{
...
...
@@ -91,12 +92,15 @@ public abstract class GameActivity extends NativeActivity {
}
protected
void
onSurfaceTouch
(
View
v
,
MotionEvent
event
){
sendInputEvent
(
event
,
false
);
}
protected
void
sendInputEvent
(
InputEvent
event
,
boolean
predispatch
){
if
(
inputQueueCompat
!=
null
)
{
inputQueueCompat
.
sendInputEvent
(
event
,
v
,
true
);
inputQueueCompat
.
sendInputEvent
(
event
,
this
,
predispatch
);
}
}
@Override
public
void
surfaceCreated
(
SurfaceHolder
holder
)
{
if
(
USE_SURFACE
)
{
...
...
@@ -136,28 +140,6 @@ public abstract class GameActivity extends NativeActivity {
}
super
.
surfaceRedrawNeeded
(
holder
);
}
//
// @Override
// public boolean onKeyDown(int keyCode, KeyEvent event) {
// if(inputQueueCompat != null) {
// if (keyCode == KeyEvent.KEYCODE_BACK) {
// inputQueueCompat.sendInputEvent(event, this, true);
// return true;
// }
// }
// return super.onKeyDown(keyCode, event);
// }
//
// @Override
// public boolean onKeyUp(int keyCode, KeyEvent event) {
// if(inputQueueCompat != null) {
// if (keyCode == KeyEvent.KEYCODE_BACK) {
// inputQueueCompat.sendInputEvent(event, this, true);
// return true;
// }
// }
// return super.onKeyUp(keyCode, event);
// }
protected
abstract
Size
getGameWindowSize
();
protected
abstract
void
initBeforeOnCreate
();
...
...
libcore/src/main/java/cn/garymb/ygomobile/core/IrrlichtBridge.java
View file @
7b8c2f18
...
...
@@ -82,6 +82,8 @@ public final class IrrlichtBridge {
private
static
native
void
nativeJoinGame
(
long
handle
,
ByteBuffer
buffer
,
int
length
);
private
static
native
void
nativeSetInputFix
(
long
handle
,
int
x
,
int
y
);
private
static
final
boolean
DEBUG
=
false
;
public
static
void
setArgs
(
Intent
intent
,
String
[]
args
)
{
...
...
@@ -153,6 +155,10 @@ public final class IrrlichtBridge {
}
}
public
static
void
setInputFix
(
int
x
,
int
y
)
{
nativeSetInputFix
(
sNativeHandle
,
x
,
y
);
}
public
static
void
cancelChain
()
{
nativeCancelChain
(
sNativeHandle
);
}
...
...
@@ -238,6 +244,10 @@ public final class IrrlichtBridge {
void
setNativeHandle
(
long
nativeHandle
);
int
getPositionX
();
int
getPositionY
();
void
onGameExit
();
}
}
libcore/src/main/res/values-ko/strings.xml
View file @
7b8c2f18
...
...
@@ -5,4 +5,5 @@
<string
name=
"react_chain"
>
표시 시간
</string>
<string
name=
"refresh_textures"
>
인터페이스 새로 고침
</string>
<string
name=
"tip_exit_game"
>
게임을 종료하려면 뒤로 버튼을 다시 클릭하십시오.
</string>
<string
name=
"tip_please_quit_in_game"
>
请在游戏主菜单点击\"退出游戏\"
</string>
</resources>
\ No newline at end of file
libcore/src/main/res/values-zh/strings.xml
View file @
7b8c2f18
...
...
@@ -5,4 +5,5 @@
<string
name=
"react_chain"
>
显示时点
</string>
<string
name=
"refresh_textures"
>
刷新界面
</string>
<string
name=
"tip_exit_game"
>
再次点击返回键退出游戏
</string>
<string
name=
"tip_please_quit_in_game"
>
请在游戏主菜单点击\"退出游戏\"
</string>
</resources>
\ No newline at end of file
libcore/src/main/res/values/strings.xml
View file @
7b8c2f18
...
...
@@ -6,4 +6,5 @@
<string
name=
"react_chain"
>
Show All Timing
</string>
<string
name=
"refresh_textures"
>
Refresh Textures
</string>
<string
name=
"tip_exit_game"
>
Click the BACK key again to exit the game
</string>
<string
name=
"tip_please_quit_in_game"
>
Please click \"退出游戏\" in game.
</string>
</resources>
\ No newline at end of file
mobile/proguard-rules.pro
View file @
7b8c2f18
...
...
@@ -42,3 +42,14 @@
-
dontwarn
com
.
tencent
.
bugly
.
**
-
keep
public
class
com
.
tencent
.
bugly
.
**
{
*
;}
-
keep
class
android
.
support
.
**
{
*
;}
-
dontwarn
dalvik
.
**
-
dontwarn
com
.
tencent
.
smtt
.
**
-
keep
class
com
.
tencent
.
smtt
.
**
{
*
;
}
-
keep
class
com
.
tencent
.
tbs
.
**
{
*
;
}
\ No newline at end of file
mobile/src/main/java/cn/garymb/ygomobile/loader/CardLoader.java
View file @
7b8c2f18
...
...
@@ -129,7 +129,6 @@ public class CardLoader implements ICardSearcher {
List
<
Card
>
list
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
cards
.
size
();
i
++)
{
Card
card
=
cards
.
valueAt
(
i
);
//ָΧ
if
(
inCards
!=
null
&&
(!
inCards
.
contains
(
card
.
Code
)
&&
!
inCards
.
contains
(
card
.
Alias
)))
{
continue
;
}
...
...
mobile/src/main/java/cn/garymb/ygomobile/ui/home/HomeActivity.java
View file @
7b8c2f18
...
...
@@ -47,6 +47,7 @@ import com.ourygo.assistant.base.listener.OnDuelAssistantListener;
import
com.ourygo.assistant.util.DuelAssistantManagement
;
import
com.ourygo.assistant.util.Util
;
import
com.tencent.bugly.beta.Beta
;
import
com.tencent.smtt.export.external.TbsCoreSettings
;
import
com.tencent.smtt.sdk.QbSdk
;
import
com.tubb.smrv.SwipeMenuRecyclerView
;
...
...
@@ -57,6 +58,7 @@ import org.greenrobot.eventbus.ThreadMode;
import
java.io.File
;
import
java.io.FileInputStream
;
import
java.io.IOException
;
import
java.util.HashMap
;
import
java.util.List
;
import
cn.garymb.ygodata.YGOGameOptions
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment