連打防止処理を追加

This commit is contained in:
kimura 2021-10-29 10:25:30 +09:00
parent cd4f408ad6
commit 0bfdbb0f05
5 changed files with 8 additions and 7 deletions

View File

@ -98,7 +98,7 @@ public class CornField : MonoBehaviour
SetCornField(); SetCornField();
upgradeButton.OnClickAsObservable().Subscribe(_ => upgradeButton.OnClickAsObservable().ThrottleFirst(TimeSpan.FromSeconds(.3f)).Subscribe(_ =>
{ {
LocalCacheManager.Save(CornFieldReinforcement.CornFieldResetCallbackTag, new Action(() => SetCornField())); LocalCacheManager.Save(CornFieldReinforcement.CornFieldResetCallbackTag, new Action(() => SetCornField()));
TransitionManager.Instance.LoadSceneAdditive(GameScenes.Reinforcement); TransitionManager.Instance.LoadSceneAdditive(GameScenes.Reinforcement);

View File

@ -53,7 +53,7 @@ public class CornFieldReinforcement : MonoBehaviour
view.SetButtonActive(price <= CoinManager.Instance.OwnCoin); view.SetButtonActive(price <= CoinManager.Instance.OwnCoin);
view.SetReinforcement(lineData, price); view.SetReinforcement(lineData, price);
// 購入ボタン // 購入ボタン
view.ButtonClickObserve.Subscribe(_ => view.ButtonClickObserve.ThrottleFirst(TimeSpan.FromSeconds(.3f)).Subscribe(_ =>
{ {
LocalCacheManager.Save(CornFieldReinforcementDataTypeTag, upgradeType); LocalCacheManager.Save(CornFieldReinforcementDataTypeTag, upgradeType);
LocalCacheManager.Save(CornFieldReinforcementDataTag, (lineData, price, new Action(() => { LocalCacheManager.Save(CornFieldReinforcementDataTag, (lineData, price, new Action(() => {
@ -71,7 +71,7 @@ public class CornFieldReinforcement : MonoBehaviour
view.SetButtonActive(price <= CoinManager.Instance.OwnCoin); view.SetButtonActive(price <= CoinManager.Instance.OwnCoin);
view.SetRelease(price); view.SetRelease(price);
// 購入ボタン // 購入ボタン
view.ButtonClickObserve.Subscribe(_ => view.ButtonClickObserve.ThrottleFirst(TimeSpan.FromSeconds(.3f)).Subscribe(_ =>
{ {
LocalCacheManager.Save(CornFieldReinforcementDataTypeTag, upgradeType); LocalCacheManager.Save(CornFieldReinforcementDataTypeTag, upgradeType);
LocalCacheManager.Save(CornFieldReinforcementDataTag, (lineData = null, price, new Action(() => { LocalCacheManager.Save(CornFieldReinforcementDataTag, (lineData = null, price, new Action(() => {
@ -97,7 +97,7 @@ public class CornFieldReinforcement : MonoBehaviour
machineUpgradeView.SetButtonActive(price <= CoinManager.Instance.OwnCoin); machineUpgradeView.SetButtonActive(price <= CoinManager.Instance.OwnCoin);
machineUpgradeView.SetData(gameData.MachineLevel, price); machineUpgradeView.SetData(gameData.MachineLevel, price);
// 購入ボタン // 購入ボタン
machineUpgradeView.ButtonClickObserve.Subscribe(_ => machineUpgradeView.ButtonClickObserve.ThrottleFirst(TimeSpan.FromSeconds(.3f)).Subscribe(_ =>
{ {
LocalCacheManager.Save(CornFieldReinforcementDataTypeTag, CornFieldUpgradeType.Machine); LocalCacheManager.Save(CornFieldReinforcementDataTypeTag, CornFieldUpgradeType.Machine);
LocalCacheManager.Save(CornFieldReinforcementDataTag, (gameData.MachineLevel, price, new Action(() => { LocalCacheManager.Save(CornFieldReinforcementDataTag, (gameData.MachineLevel, price, new Action(() => {

View File

@ -34,7 +34,7 @@ public class TastingView : MonoBehaviour
TransitionManager.Instance.UnloadScene(GameScenes.Tasting); TransitionManager.Instance.UnloadScene(GameScenes.Tasting);
}); });
}).AddTo(this); }).AddTo(this);
tastingButton.OnClickAsObservable().Subscribe(_ => tastingButton.OnClickAsObservable().ThrottleFirst(TimeSpan.FromSeconds(.3f)).Subscribe(_ =>
{ {
backgroundAnimator.SetTrigger(CloseTrigger); backgroundAnimator.SetTrigger(CloseTrigger);
this.CallWaitForSeconds(.5f, () => this.CallWaitForSeconds(.5f, () =>

View File

@ -56,7 +56,7 @@ public class RecipeSelectDialog : MonoBehaviour
if (hasRecipe) if (hasRecipe)
{ {
view.SetLockPanel(false); view.SetLockPanel(false);
view.RecipeClickObservable.Subscribe(_ => view.RecipeClickObservable.ThrottleFirst(TimeSpan.FromSeconds(.3f)).Subscribe(_ =>
{ {
LocalCacheManager.Save(PopcornGameManager.CookingDataTag, productData); LocalCacheManager.Save(PopcornGameManager.CookingDataTag, productData);
RecipeDetailView.ShowDialog(() => RecipeDetailView.ShowDialog(() =>

View File

@ -57,6 +57,7 @@ public class Shopping : MonoBehaviour
}).AddTo(itemView); }).AddTo(itemView);
// アイテム購入クリック購読 // アイテム購入クリック購読
itemView.PurchaseButtonObservable itemView.PurchaseButtonObservable
.ThrottleFirst(TimeSpan.FromSeconds(.3f))
.Where(_ => shopData.price <= CoinManager.Instance.OwnCoin) .Where(_ => shopData.price <= CoinManager.Instance.OwnCoin)
.Subscribe(_ => .Subscribe(_ =>
{ {
@ -77,7 +78,7 @@ public class Shopping : MonoBehaviour
}); });
}).AddTo(itemView); }).AddTo(itemView);
// show detail view // show detail view
itemView.DetailButtonObservable.Subscribe(_ => itemView.DetailButtonObservable.ThrottleFirst(TimeSpan.FromSeconds(.3f)).Subscribe(_ =>
{ {
LocalCacheManager.Save(ShopItemDetailView.ItemDetailTag, shopData); LocalCacheManager.Save(ShopItemDetailView.ItemDetailTag, shopData);
TransitionManager.Instance.LoadSceneAdditive(GameScenes.ShoppingExplanation); TransitionManager.Instance.LoadSceneAdditive(GameScenes.ShoppingExplanation);