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