From 45c808618e949159a0792db301bb397edffa391c Mon Sep 17 00:00:00 2001 From: renhaoting <370797079@qq.com> Date: Tue, 23 Dec 2025 17:08:13 +0800 Subject: [PATCH] =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D=20-=200=E5=85=83=E8=B4=AD?= =?UTF-8?q?=E6=B2=A1=E6=9C=89=E9=92=BB=E7=9F=B3=E4=BD=86=E8=BF=98=E6=98=AF?= =?UTF-8?q?=E5=8F=AF=E4=BB=A5=E5=8F=82=E5=9B=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gamedog/vididin/features/zero/ZeroBuyActivity.kt | 9 +++++++-- .../gamedog/vididin/features/zero/ZeroItemAdapter.kt | 5 ++--- .../java/com/gamedog/vididin/login/AccountManager.kt | 12 ++++++++++++ app/src/main/res/values/strings.xml | 1 + 4 files changed, 22 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/gamedog/vididin/features/zero/ZeroBuyActivity.kt b/app/src/main/java/com/gamedog/vididin/features/zero/ZeroBuyActivity.kt index ed9315b..fb8deef 100644 --- a/app/src/main/java/com/gamedog/vididin/features/zero/ZeroBuyActivity.kt +++ b/app/src/main/java/com/gamedog/vididin/features/zero/ZeroBuyActivity.kt @@ -68,8 +68,13 @@ class ZeroBuyActivity : AppViewsEmptyViewModelActivity() { with(recyclerView) { - mAdapter = ZeroItemAdapter({ itemId-> - requestParticipateActivity(itemId) + mAdapter = ZeroItemAdapter({ itemId, diamondCost-> + + if (AccountManager.adjustDiamond(diamondCost)) { + requestParticipateActivity(itemId) + } else { + AndroidUtil.showToast(R.string.dont_enought_diamond) + } }) adapter = mAdapter layoutManager = GridLayoutManager(this@ZeroBuyActivity, 2) diff --git a/app/src/main/java/com/gamedog/vididin/features/zero/ZeroItemAdapter.kt b/app/src/main/java/com/gamedog/vididin/features/zero/ZeroItemAdapter.kt index eb78e11..07143d0 100644 --- a/app/src/main/java/com/gamedog/vididin/features/zero/ZeroItemAdapter.kt +++ b/app/src/main/java/com/gamedog/vididin/features/zero/ZeroItemAdapter.kt @@ -12,10 +12,9 @@ import com.ama.core.architecture.util.SpUtil import com.ama.core.architecture.util.setOnClickBatch import com.vididin.real.money.game.R import com.gamedog.vididin.beans.ZeroBuyItem -import com.gamedog.vididin.core.login.login.AccountManager import com.vididin.real.money.game.databinding.LayoutItemZerobuyBinding as ViewBinding -class ZeroItemAdapter(private val joinCallback: (itemId: Int)->Unit) : ListAdapter(DiffCallback()) { +class ZeroItemAdapter(private val joinCallback: (itemId: Int, diamondCost: Int)->Unit) : ListAdapter(DiffCallback()) { private val mBgResList = listOf(R.mipmap.zero_bg_item_sub1, R.mipmap.zero_bg_item_sub2, R.mipmap.zero_bg_item_sub3, R.mipmap.zero_bg_item_sub4) @@ -77,7 +76,7 @@ class ZeroItemAdapter(private val joinCallback: (itemId: Int)->Unit) : ListAdapt setOnClickBatch(flBottomBut) { when (this) { flBottomBut-> { - joinCallback(item.id) + joinCallback(item.id, item.cost) } } } diff --git a/app/src/main/java/com/gamedog/vididin/login/AccountManager.kt b/app/src/main/java/com/gamedog/vididin/login/AccountManager.kt index bddc615..89e99f4 100644 --- a/app/src/main/java/com/gamedog/vididin/login/AccountManager.kt +++ b/app/src/main/java/com/gamedog/vididin/login/AccountManager.kt @@ -142,6 +142,18 @@ object AccountManager { return !mAccount?.bankInfo?.bankAccount.isNullOrEmpty() } + fun adjustDiamond(diamondCost: Int): Boolean { + mAccount?.let { + if (it.diamondCount > diamondCost) { + it.diamondCount -= diamondCost + saveAccountInfo() + NotifyMan.instance().sendEvent(VididinEvents.Event_Account_Diamond_Changed, null) + return true + } + } + return false + } + } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index ec5eb6d..48e07c7 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -160,5 +160,6 @@ As recompensas ainda não estão prontas. d h + Diamantes insuficientes \ No newline at end of file