|
|
@@ -39,6 +39,9 @@ class PlayGameActivity : BaseMVVMActivity<ActivityPlayGameBinding, PlayGameViewM
|
|
|
private var gameBean: GameBean? = null
|
|
|
private lateinit var webSettings: WebSettings
|
|
|
private var gameResultDialog: GameResultDialog? = null
|
|
|
+ private var gameScore = ""
|
|
|
+ private var gameLevel = ""
|
|
|
+ private var gameTime = ""
|
|
|
|
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
|
gameBean = intent.getSerializableExtra("bean") as GameBean
|
|
|
@@ -65,6 +68,7 @@ class PlayGameActivity : BaseMVVMActivity<ActivityPlayGameBinding, PlayGameViewM
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @SuppressLint("SetTextI18n")
|
|
|
override fun initData() {
|
|
|
Glide.with(mContext)
|
|
|
.asGif()
|
|
|
@@ -75,6 +79,7 @@ class PlayGameActivity : BaseMVVMActivity<ActivityPlayGameBinding, PlayGameViewM
|
|
|
binding.tvTime.post {
|
|
|
if (TextUtils.isEmpty(it).not()) {
|
|
|
binding.tvTime.text = it
|
|
|
+ gameTime = it
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -83,6 +88,7 @@ class PlayGameActivity : BaseMVVMActivity<ActivityPlayGameBinding, PlayGameViewM
|
|
|
binding.tvScore.post {
|
|
|
if (TextUtils.isEmpty(it).not()) {
|
|
|
binding.tvScore.text = it
|
|
|
+ gameScore = it
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -90,7 +96,8 @@ class PlayGameActivity : BaseMVVMActivity<ActivityPlayGameBinding, PlayGameViewM
|
|
|
LiveEventBusUtil.observer<String>(this, RxBusCodes.SETLEVEL) {
|
|
|
binding.tvGameLevel.post {
|
|
|
if (TextUtils.isEmpty(it).not()) {
|
|
|
- binding.tvGameLevel.text = it
|
|
|
+ binding.tvGameLevel.text = "第" + it + "关"
|
|
|
+ gameLevel = it
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -101,7 +108,7 @@ class PlayGameActivity : BaseMVVMActivity<ActivityPlayGameBinding, PlayGameViewM
|
|
|
Log.e("wpp", it)
|
|
|
val gameDataBean = GsonUtil.GsonToBean(it, GameDataBean::class.java)
|
|
|
if (gameDataBean != null) {
|
|
|
- saveData(gameDataBean)
|
|
|
+ saveData(gameDataBean, "2")
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -111,25 +118,33 @@ class PlayGameActivity : BaseMVVMActivity<ActivityPlayGameBinding, PlayGameViewM
|
|
|
/**
|
|
|
* 保存游戏进度
|
|
|
*/
|
|
|
- private fun saveData(gameDataBean: GameDataBean) {
|
|
|
+ private fun saveData(gameDataBean: GameDataBean, type: String) {
|
|
|
viewModel.saveGameRecord(gameBean!!.gameCode, gameBean!!.playClass, gameDataBean, fail = {
|
|
|
- it.toast()
|
|
|
- }, success = {
|
|
|
runOnUiThread {
|
|
|
- gameResultDialog = GameResultDialog()
|
|
|
- gameResultDialog?.setData(
|
|
|
- gameDataBean.curLevel,
|
|
|
- gameBean!!.gameTotalScore,
|
|
|
- gameDataBean.curLevelScore,
|
|
|
- gameDataBean.isPass
|
|
|
- )
|
|
|
- gameResultDialog?.onBackHomeDialogClickListener = {
|
|
|
+ if (TextUtils.equals("1", type)) {
|
|
|
finish()
|
|
|
}
|
|
|
- gameResultDialog?.onGameDialogClickListener = {
|
|
|
- loadJs(it)
|
|
|
+ }
|
|
|
+ }, success = {
|
|
|
+ runOnUiThread {
|
|
|
+ if (TextUtils.equals("1", type)) {
|
|
|
+ finish()
|
|
|
+ } else {
|
|
|
+ gameResultDialog = GameResultDialog()
|
|
|
+ gameResultDialog?.setData(
|
|
|
+ gameDataBean.curLevel,
|
|
|
+ gameBean!!.gameTotalScore,
|
|
|
+ gameDataBean.curLevelScore,
|
|
|
+ gameDataBean.isPass
|
|
|
+ )
|
|
|
+ gameResultDialog?.onBackHomeDialogClickListener = {
|
|
|
+ finish()
|
|
|
+ }
|
|
|
+ gameResultDialog?.onGameDialogClickListener = {
|
|
|
+ loadJs(it)
|
|
|
+ }
|
|
|
+ gameResultDialog?.show(supportFragmentManager, "gameResultDialog")
|
|
|
}
|
|
|
- gameResultDialog?.show(supportFragmentManager, "gameResultDialog")
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
@@ -174,7 +189,7 @@ class PlayGameActivity : BaseMVVMActivity<ActivityPlayGameBinding, PlayGameViewM
|
|
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
|
|
view?.loadUrl(request.url.toString())
|
|
|
} else {
|
|
|
- view?.loadUrl(request.toString()!!)
|
|
|
+ view?.loadUrl(request.toString())
|
|
|
}
|
|
|
} else {
|
|
|
gameUrl.let {
|
|
|
@@ -202,7 +217,15 @@ class PlayGameActivity : BaseMVVMActivity<ActivityPlayGameBinding, PlayGameViewM
|
|
|
MotionEvent.ACTION_UP -> {
|
|
|
v.startAnimation(getEndAnimation())
|
|
|
if (v.id == R.id.tvPause) {
|
|
|
- finish()
|
|
|
+ runOnUiThread {
|
|
|
+ val gameDataBean = GameDataBean().apply {
|
|
|
+ curLevel = gameLevel
|
|
|
+ curLevelScore = gameScore
|
|
|
+ curLevelTime = gameTime
|
|
|
+ isPass = "1"
|
|
|
+ }
|
|
|
+ saveData(gameDataBean, "1")
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
MotionEvent.ACTION_CANCEL -> {
|
|
|
@@ -238,15 +261,15 @@ class PlayGameActivity : BaseMVVMActivity<ActivityPlayGameBinding, PlayGameViewM
|
|
|
private fun loadJs(it: String) {
|
|
|
if (TextUtils.equals("0", it)) {
|
|
|
binding.webView.evaluateJavascript(
|
|
|
- "javascript:NextLevel()"
|
|
|
+ "javascript:CallNextLevel()"
|
|
|
) {
|
|
|
|
|
|
}
|
|
|
} else {
|
|
|
binding.webView.evaluateJavascript(
|
|
|
- "javascript:RestartGame()"
|
|
|
+ "javascript:CallRestartGame()"
|
|
|
) {
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
}
|