Browse Source

1.优化代码

王鹏鹏 2 years ago
parent
commit
d8c5d9bad9

+ 8 - 2
game/src/main/java/com/yingyangfly/game/introduction/GameIntroductionActivity.kt

@@ -5,9 +5,11 @@ import android.os.Bundle
 import android.view.MotionEvent
 import android.view.View
 import com.alibaba.android.arouter.facade.annotation.Route
+import com.alibaba.android.arouter.launcher.ARouter
 import com.yingyangfly.baselib.bean.Record
 import com.yingyangfly.baselib.ext.getEndAnimation
 import com.yingyangfly.baselib.ext.getScaleAnimation
+import com.yingyangfly.baselib.ext.toast
 import com.yingyangfly.baselib.mvvm.BaseMVVMActivity
 import com.yingyangfly.baselib.router.RouterUrlCommon
 import com.yingyangfly.baselib.utils.JumpUtil
@@ -58,7 +60,7 @@ class GameIntroductionActivity :
      */
     private fun getGameDetailByCode() {
         viewModel.getGameDetailByCode(gameCode, playClass, fail = {
-
+            it.toast()
         }, success = {
             if (it != null) {
                 binding.data = it
@@ -86,7 +88,11 @@ class GameIntroductionActivity :
                 if (v.id == R.id.homeImage) {
                     JumpUtil.jumpActivity(RouterUrlCommon.home, mContext)
                 } else if (v.id == R.id.btnStartGame) {
-//                    JumpUtil.jumpActivityWithUrl(RouterUrlCommon.playGame, id, mContext)
+                    ARouter.getInstance().build(RouterUrlCommon.playGame)
+                        .withString("gameCode", gameCode)
+                        .withString("playClass", playClass)
+                        .withTransition(R.anim.leftin, R.anim.leftout)
+                        .navigation(mContext)
                 }
             }
             MotionEvent.ACTION_CANCEL -> {

+ 12 - 5
game/src/main/java/com/yingyangfly/game/play/PlayGameActivity.kt

@@ -3,6 +3,7 @@ package com.yingyangfly.game.play
 import android.os.Bundle
 import android.text.TextUtils
 import com.alibaba.android.arouter.facade.annotation.Route
+import com.yingyangfly.baselib.ext.toast
 import com.yingyangfly.baselib.mvvm.BaseMVVMActivity
 import com.yingyangfly.baselib.router.RouterUrlCommon
 import com.yingyangfly.game.databinding.ActivityPlayGameBinding
@@ -13,10 +14,12 @@ import com.yingyangfly.game.databinding.ActivityPlayGameBinding
 @Route(path = RouterUrlCommon.playGame)
 class PlayGameActivity : BaseMVVMActivity<ActivityPlayGameBinding, PlayGameViewModel>() {
 
-    private var id: String = ""
+    private var gameCode: String = ""
+    private var playClass: String = ""
 
     override fun onCreate(savedInstanceState: Bundle?) {
-        id = intent.getStringExtra("url") ?: ""
+        gameCode = intent.getStringExtra("gameCode") ?: ""
+        playClass = intent.getStringExtra("playClass") ?: ""
         super.onCreate(savedInstanceState)
     }
 
@@ -34,15 +37,19 @@ class PlayGameActivity : BaseMVVMActivity<ActivityPlayGameBinding, PlayGameViewM
 
     override fun onResume() {
         super.onResume()
-        if (TextUtils.isEmpty(id).not()) {
-            loadGame()
-        }
+        loadGame()
     }
 
     /**
      * 加载游戏内容
      */
     private fun loadGame() {
+        viewModel.getGameDetailByCode(gameCode, playClass, fail = {
+            it.toast()
+        }, success = {
+            if (it != null) {
 
+            }
+        })
     }
 }

+ 24 - 1
game/src/main/java/com/yingyangfly/game/play/PlayGameViewModel.kt

@@ -1,10 +1,33 @@
 package com.yingyangfly.game.play
 
 import com.yingyangfly.baselib.mvvm.BaseViewModel
+import com.yingyangfly.baselib.net.XUtils
+import com.yingyangfly.baselib.utils.GsonUtil
+import com.yingyangfly.game.entity.GameBean
+import com.yingyangfly.game.entity.GetGameDetailByCodeBean
+import com.yingyangfly.game.net.GAME_API
 
 /**
  * @author 王鹏鹏
  */
 class PlayGameViewModel : BaseViewModel() {
-
+    /**
+     * 获取游戏详情
+     */
+    fun getGameDetailByCode(
+        code: String,
+        playClasses: String,
+        fail: ((msg: String) -> Unit)? = null,
+        success: ((success: GameBean?) -> Unit)? = null,
+    ) = launchFlow(false) {
+        val requestBean = GetGameDetailByCodeBean().apply {
+            gameCode = code
+            playClass = playClasses
+        }
+        val body = XUtils.createJson(GsonUtil.GsonString(requestBean))
+        GAME_API.getGameDetailByCode(body)
+    }.runUI(
+        success,
+        fail
+    )
 }

+ 8 - 0
game/src/main/res/anim/leftin.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<set xmlns:android="http://schemas.android.com/apk/res/android">
+    <translate
+        android:duration="500"
+        android:fromXDelta="100%p"
+        android:toXDelta="0" />
+</set> 
+

+ 8 - 0
game/src/main/res/anim/leftout.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<set xmlns:android="http://schemas.android.com/apk/res/android">
+    <translate
+        android:duration="500"
+        android:fromXDelta="0"
+        android:toXDelta="-100%p" />
+</set> 
+