Browse Source

1.添加游戏结算页面

王鹏鹏 2 years ago
parent
commit
a67cc79e94

+ 1 - 0
.idea/misc.xml

@@ -500,6 +500,7 @@
         <entry key="..\:/workspace/hcp-pads/game/src/main/res/layout/dialog_count_down.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pads/game/src/main/res/layout/dialog_exit_game.xml" value="0.22239583333333332" />
         <entry key="..\:/workspace/hcp-pads/game/src/main/res/layout/dialog_game_result.xml" value="0.536" />
+        <entry key="..\:/workspace/hcp-pads/game/src/main/res/layout/item_game_result.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pads/healthconsultation/src/main/res/layout/activity_consultation_request.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pads/healthconsultation/src/main/res/layout/activity_doctor_details.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pads/healthconsultation/src/main/res/layout/activity_payment.xml" value="0.23697916666666666" />

+ 4 - 0
game/src/main/java/com/yingyangfly/game/adapter/GameResultAdapter.kt

@@ -0,0 +1,4 @@
+package com.yingyangfly.game.adapter
+
+class GameResultAdapter {
+}

+ 0 - 2
game/src/main/java/com/yingyangfly/game/entity/GameBean.java

@@ -1,7 +1,5 @@
 package com.yingyangfly.game.entity;
 
-import android.text.TextUtils;
-
 import java.io.Serializable;
 
 /**

+ 18 - 0
game/src/main/java/com/yingyangfly/game/entity/GameResultBean.kt

@@ -0,0 +1,18 @@
+package com.yingyangfly.game.entity
+
+/**
+ * 游戏结算接口
+ */
+data class GameResultBean(
+    val details: List<Detail>,
+    val gameCoverImage: String,
+    val gameName: String,
+    val gameTotalTime: String,
+    val isPass: String,
+    val totalGameScore: String
+)
+
+data class Detail(
+    val gameLevel: String,
+    val gameScore: String
+)

+ 0 - 1
game/src/main/java/com/yingyangfly/game/introduction/GameIntroductionViewModel.kt

@@ -1,6 +1,5 @@
 package com.yingyangfly.game.introduction
 
-import com.yingyangfly.baselib.bean.Record
 import com.yingyangfly.baselib.mvvm.BaseViewModel
 import com.yingyangfly.baselib.net.XUtils
 import com.yingyangfly.baselib.utils.GsonUtil

+ 7 - 0
game/src/main/java/com/yingyangfly/game/net/GameApiService.kt

@@ -2,6 +2,7 @@ package com.yingyangfly.game.net
 
 import com.yingyangfly.baselib.net.BaseResp
 import com.yingyangfly.game.entity.GameBean
+import com.yingyangfly.game.entity.GameResultBean
 import okhttp3.RequestBody
 import retrofit2.http.Body
 import retrofit2.http.POST
@@ -19,4 +20,10 @@ interface GameApiService {
      */
     @POST("game/play/record/save")
     suspend fun saveGameRecord(@Body requestBody: RequestBody): BaseResp<GameBean>
+
+    /**
+     * 游戏结算接口
+     */
+    @POST("game/play/record/showResult")
+    suspend fun showGameResult(@Body requestBody: RequestBody): BaseResp<GameResultBean>
 }

+ 26 - 0
game/src/main/java/com/yingyangfly/game/settlement/GameSettlementActivity.kt

@@ -1,11 +1,13 @@
 package com.yingyangfly.game.settlement
 
 import android.annotation.SuppressLint
+import android.os.Bundle
 import android.view.MotionEvent
 import android.view.View
 import com.alibaba.android.arouter.facade.annotation.Route
 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.game.R
@@ -19,6 +21,15 @@ class GameSettlementActivity :
     BaseMVVMActivity<ActivityGameSettlementBinding, GameSettlementViewModel>(),
     View.OnTouchListener {
 
+    private var gameCode = ""
+    private var playClass = ""
+
+    override fun onCreate(savedInstanceState: Bundle?) {
+        gameCode = intent.getStringExtra("gameCode") ?: ""
+        playClass = intent.getStringExtra("playClass") ?: ""
+        super.onCreate(savedInstanceState)
+    }
+
     override fun initViews() {
 
     }
@@ -58,4 +69,19 @@ class GameSettlementActivity :
         }
         return true
     }
+
+    override fun onResume() {
+        super.onResume()
+        loadData()
+    }
+
+    private fun loadData() {
+        viewModel.getGameDetailByCode(gameCode, playClass, fail = {
+            it.toast()
+        }, success = {
+            if (it != null) {
+
+            }
+        })
+    }
 }

+ 3 - 3
game/src/main/java/com/yingyangfly/game/settlement/GameSettlementViewModel.kt

@@ -3,7 +3,7 @@ package com.yingyangfly.game.settlement
 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.GameResultBean
 import com.yingyangfly.game.entity.GetGameDetailByCodeBean
 import com.yingyangfly.game.net.GAME_API
 
@@ -19,14 +19,14 @@ class GameSettlementViewModel : BaseViewModel() {
         code: String,
         playClasses: String,
         fail: ((msg: String) -> Unit)? = null,
-        success: ((success: GameBean?) -> Unit)? = null,
+        success: ((success: GameResultBean?) -> Unit)? = null,
     ) = launchFlow(false) {
         val requestBean = GetGameDetailByCodeBean().apply {
             gameCode = code
             playClass = playClasses
         }
         val body = XUtils.createJson(GsonUtil.GsonString(requestBean))
-        GAME_API.getGameDetailByCode(body)
+        GAME_API.showGameResult(body)
     }.runUI(
         success,
         fail

+ 12 - 13
game/src/main/res/layout/activity_game_settlement.xml

@@ -4,6 +4,13 @@
     xmlns:tools="http://schemas.android.com/tools"
     tools:ignore="ResourceName">
 
+    <data>
+
+        <variable
+            name="data"
+            type="com.yingyangfly.game.entity.GameResultBean" />
+    </data>
+
     <androidx.constraintlayout.widget.ConstraintLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent"
@@ -47,7 +54,8 @@
                     android:layout_marginStart="@dimen/divider_26px"
                     android:layout_marginTop="@dimen/divider_32px"
                     app:layout_constraintStart_toStartOf="parent"
-                    app:layout_constraintTop_toTopOf="parent" />
+                    app:layout_constraintTop_toTopOf="parent"
+                    app:loadHeadImg="@{data.gameCoverImage}" />
 
                 <TextView
                     android:id="@+id/tvGameName"
@@ -55,6 +63,7 @@
                     android:layout_height="wrap_content"
                     android:layout_marginStart="@dimen/divider_26px"
                     android:layout_marginTop="@dimen/divider_45px"
+                    android:text="@{data.gameName}"
                     android:textColor="@color/color_FFFF6F6F"
                     android:textSize="@dimen/divider_28px"
                     android:textStyle="bold"
@@ -62,18 +71,6 @@
                     app:layout_constraintTop_toTopOf="parent"
                     tools:text="抓小羊" />
 
-                <TextView
-                    android:id="@+id/tvGameType"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_marginStart="@dimen/divider_26px"
-                    android:layout_marginTop="@dimen/divider_5px"
-                    android:textColor="@color/color_FF5A5A5A"
-                    android:textSize="@dimen/divider_24px"
-                    app:layout_constraintStart_toEndOf="@+id/gameImage"
-                    app:layout_constraintTop_toBottomOf="@+id/tvGameName"
-                    tools:text="按顺序记忆" />
-
                 <androidx.recyclerview.widget.RecyclerView
                     android:id="@+id/tvGameLevel"
                     android:layout_width="match_parent"
@@ -103,6 +100,8 @@
             app:layout_constraintTop_toBottomOf="@+id/backLayout">
 
 
+
+
         </com.google.android.material.card.MaterialCardView>
 
 

+ 13 - 0
game/src/main/res/layout/item_game_result.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    tools:ignore="ResourceName">
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+
+</layout>