Browse Source

1.添加游戏结果弹窗

王鹏鹏 2 years ago
parent
commit
686a1516f5

+ 21 - 0
game/src/main/java/com/yingyangfly/game/dialog/GameResultDialog.kt

@@ -12,6 +12,7 @@ import androidx.appcompat.widget.AppCompatTextView
 import androidx.fragment.app.DialogFragment
 import com.gyf.immersionbar.BarHide
 import com.gyf.immersionbar.ktx.immersionBar
+import com.yingyangfly.baselib.ext.setOnSingleClickListener
 import com.yingyangfly.baselib.utils.ViewTool
 import com.yingyangfly.game.R
 
@@ -31,6 +32,16 @@ class GameResultDialog : DialogFragment() {
     private var isPass: String = ""
     private var totalScore: String = ""
 
+    /**
+     * 游戏失败
+     */
+    var onBackHomeDialogClickListener: ((bean: String) -> Unit)? = null
+
+    /**
+     * 游戏成功
+     */
+    var onGameDialogClickListener: ((bean: String) -> Unit)? = null
+
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
         isCancelable = false
@@ -67,6 +78,7 @@ class GameResultDialog : DialogFragment() {
         )
         findId(rootView)
         initData()
+        initListener()
         return rootView
     }
 
@@ -90,4 +102,13 @@ class GameResultDialog : DialogFragment() {
         tvTotalGameScore?.text = "总得分:" + totalScore + "分"
         tvGameScore?.text = "本关得分:" + curLevelScore + "分"
     }
+
+    private fun initListener() {
+        btnHome!!.setOnSingleClickListener {
+            onBackHomeDialogClickListener?.invoke("")
+        }
+        btnContinueThisLevel!!.setOnSingleClickListener {
+            onGameDialogClickListener?.invoke(isPass)
+        }
+    }
 }

+ 10 - 1
game/src/main/java/com/yingyangfly/game/play/PlayGameActivity.kt

@@ -96,7 +96,6 @@ class PlayGameActivity : BaseMVVMActivity<ActivityPlayGameBinding, PlayGameViewM
                         saveData(gameDataBean)
                     }
                 }
-
             }
         }
     }
@@ -116,6 +115,16 @@ class PlayGameActivity : BaseMVVMActivity<ActivityPlayGameBinding, PlayGameViewM
                     gameDataBean.curLevelScore,
                     gameDataBean.isPass
                 )
+                gameResultDialog?.onBackHomeDialogClickListener = {
+                    finish()
+                }
+                gameResultDialog?.onGameDialogClickListener = {
+                    if (TextUtils.equals("0", it)) {
+                        it.toast()
+                    } else {
+                        it.toast()
+                    }
+                }
                 gameResultDialog?.show(supportFragmentManager, "gameResultDialog")
             }
         })