|
|
@@ -30,11 +30,11 @@ import com.yingyangfly.game.databinding.ActivityPlayGameBinding
|
|
|
import com.yingyangfly.game.dialog.CountdownDialog
|
|
|
import com.yingyangfly.game.dialog.GameResultDialog
|
|
|
import com.yingyangfly.game.entity.GameDataBean
|
|
|
-import com.yingyangfly.game.net.GAME_API
|
|
|
import com.yingyangfly.game.utils.AndroidToJs
|
|
|
import gorden.rxbus2.RxBus
|
|
|
import gorden.rxbus2.Subscribe
|
|
|
import gorden.rxbus2.ThreadMode
|
|
|
+import java.util.concurrent.ThreadFactory
|
|
|
|
|
|
/**
|
|
|
* 玩游戏页面
|
|
|
@@ -55,6 +55,7 @@ class PlayGameActivity : BaseMVVMActivity<ActivityPlayGameBinding, PlayGameViewM
|
|
|
private lateinit var webSettings: WebSettings
|
|
|
private var voicePlayer: VoicePlayer? = null
|
|
|
private var gameResultDialog: GameResultDialog? = null
|
|
|
+ private var gameOvertime = false
|
|
|
|
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
|
gameCode = intent.getStringExtra("gameCode") ?: ""
|
|
|
@@ -112,15 +113,15 @@ class PlayGameActivity : BaseMVVMActivity<ActivityPlayGameBinding, PlayGameViewM
|
|
|
/**
|
|
|
* 保存游戏进度
|
|
|
*/
|
|
|
- private fun saveData(gameDataBean: GameDataBean) {
|
|
|
+ private fun saveData(gameDataBean: GameDataBean, isPass: String) {
|
|
|
viewModel.saveGameRecord(gameCode, playClass, gameDataBean, fail = {
|
|
|
it.toast()
|
|
|
}, success = {
|
|
|
runOnUiThread {
|
|
|
- if (TextUtils.equals("2", gameDataBean.isPass)) {
|
|
|
+ if (TextUtils.equals("2", isPass)) {
|
|
|
RxBus.get().send(RxBusCodes.QUITGAME)
|
|
|
finish()
|
|
|
- } else if (TextUtils.equals("3", gameDataBean.isPass)) {
|
|
|
+ } else if (TextUtils.equals("3", isPass)) {
|
|
|
//游戏通关
|
|
|
ARouter.getInstance().build(RouterUrlCommon.gameSettlement)
|
|
|
.withString("gameCode", gameCode)
|
|
|
@@ -140,7 +141,13 @@ class PlayGameActivity : BaseMVVMActivity<ActivityPlayGameBinding, PlayGameViewM
|
|
|
gameDataBean.isPass
|
|
|
)
|
|
|
gameResultDialog?.onBackHomeDialogClickListener = {
|
|
|
- RxBus.get().send(RxBusCodes.CALLQUITGAME)
|
|
|
+ if (gameOvertime) {
|
|
|
+ Log.e("wpp", "--------------------------999")
|
|
|
+ finish()
|
|
|
+ LiveEventBusUtil.send(RxBusCodes.GAMEOVERTIME, "")
|
|
|
+ } else {
|
|
|
+ RxBus.get().send(RxBusCodes.CALLQUITGAME)
|
|
|
+ }
|
|
|
}
|
|
|
gameResultDialog?.onGameDialogClickListener = {
|
|
|
loadJs(it)
|
|
|
@@ -329,6 +336,7 @@ class PlayGameActivity : BaseMVVMActivity<ActivityPlayGameBinding, PlayGameViewM
|
|
|
/**
|
|
|
* 游戏进度监听
|
|
|
*/
|
|
|
+ @SuppressLint("SetTextI18n")
|
|
|
private fun initLiveData() {
|
|
|
//游戏时间
|
|
|
LiveEventBusUtil.observer<String>(this, RxBusCodes.SETTIME) {
|
|
|
@@ -358,10 +366,19 @@ class PlayGameActivity : BaseMVVMActivity<ActivityPlayGameBinding, PlayGameViewM
|
|
|
LiveEventBusUtil.observer<String>(this, RxBusCodes.SAVEDATA) {
|
|
|
binding.tvScore.post {
|
|
|
if (TextUtils.isEmpty(it).not()) {
|
|
|
- Log.e("wpp", it)
|
|
|
val gameDataBean = GsonUtil.GsonToBean(it, GameDataBean::class.java)
|
|
|
if (gameDataBean != null) {
|
|
|
- saveData(gameDataBean)
|
|
|
+ gameOvertime = TextUtils.equals("4", gameDataBean.isPass) || TextUtils.equals(
|
|
|
+ "1",
|
|
|
+ gameDataBean.isPass
|
|
|
+ )
|
|
|
+ val isPass = gameDataBean.isPass
|
|
|
+ if (TextUtils.equals("4", gameDataBean.isPass)) {
|
|
|
+ gameDataBean.isPass = "1"
|
|
|
+ } else if (TextUtils.equals("3", gameDataBean.isPass)) {
|
|
|
+ gameDataBean.isPass = "0"
|
|
|
+ }
|
|
|
+ saveData(gameDataBean, isPass)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -370,7 +387,6 @@ class PlayGameActivity : BaseMVVMActivity<ActivityPlayGameBinding, PlayGameViewM
|
|
|
LiveEventBusUtil.observer<String>(this, RxBusCodes.LOADINGOVER) {
|
|
|
loadingOver = true
|
|
|
}
|
|
|
-
|
|
|
//播放语音
|
|
|
LiveEventBusUtil.observer<String>(this, RxBusCodes.PLAYVOICE) {
|
|
|
if (it.isNullOrEmpty().not()) {
|
|
|
@@ -380,7 +396,10 @@ class PlayGameActivity : BaseMVVMActivity<ActivityPlayGameBinding, PlayGameViewM
|
|
|
speak(msg[1])
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+ }
|
|
|
+ //游戏超时退出
|
|
|
+ LiveEventBusUtil.observer<String>(this, RxBusCodes.GAMEOVERTIME) {
|
|
|
+ finish()
|
|
|
}
|
|
|
}
|
|
|
|