From e69e46c5cdeb032ce46a5e47a25cc31dc7a7de3f Mon Sep 17 00:00:00 2001 From: kimura Date: Thu, 20 Oct 2022 13:23:41 +0900 Subject: [PATCH] =?UTF-8?q?=E5=A4=A7=E9=87=8F=E6=B3=A8=E6=96=87=E3=83=AF?= =?UTF-8?q?=E3=83=BC=E3=83=AB=E3=83=89=E5=AF=BE=E5=BF=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MyGame/Scenes/Main/Scripts/BulkOrder.cs | 53 ++++++++++--------- .../Main/Scripts/BulkOrderAchievedView.cs | 8 +-- .../Main/Scripts/BulkOrderNotifyView.cs | 8 +-- 3 files changed, 35 insertions(+), 34 deletions(-) diff --git a/popcorn/Assets/MyGame/Scenes/Main/Scripts/BulkOrder.cs b/popcorn/Assets/MyGame/Scenes/Main/Scripts/BulkOrder.cs index af1ef10f..c4d4bf34 100644 --- a/popcorn/Assets/MyGame/Scenes/Main/Scripts/BulkOrder.cs +++ b/popcorn/Assets/MyGame/Scenes/Main/Scripts/BulkOrder.cs @@ -46,14 +46,15 @@ public class BulkOrder : MonoBehaviour }); }).AddTo(this); - var gameData = GameDataManager.GameData; + var cityGameData = GameDataManager.GetCurrentCityGameData(); + var globalGameData = GameDataManager.GameData; var bulkOrderList = SpreadsheetDataManager.Instance.GetBaseDataList(Const.BulkOrderDataSheet); var messageList = SpreadsheetDataManager.Instance.GetBaseDataList(Const.BulkOrderTextDataSheet); - var bulkOrderData = bulkOrderList.First(data => data.id == gameData.OrderIdInProgress); - messageText.text = messageList.First(data => data.id == gameData.OrderTextId).RequestText; + var bulkOrderData = bulkOrderList.First(data => data.id == cityGameData.OrderIdInProgress); + messageText.text = messageList.First(data => data.id == cityGameData.OrderTextId).RequestText; coinText.text = bulkOrderData.rewardCoin.ToString(); heartText.text = bulkOrderData.rewardHeart.ToString(); - orderCharacterImage.sprite = bulkOrderCharacter.GetNormalIcon(gameData.OrderIconIndex); + orderCharacterImage.sprite = bulkOrderCharacter.GetNormalIcon(cityGameData.OrderIconIndex); LocalCacheManager.Save(DataTag, bulkOrderData); cancelButton.OnClickAsObservable().ThrottleFirst(TimeSpan.FromSeconds(1f)).Subscribe(_ => @@ -63,15 +64,15 @@ public class BulkOrder : MonoBehaviour // 試食数追加 foreach (var (id, _, count) in bulkOrderData.OrderList) { - if (!gameData.CompletedProductList.Exists(data => data.Number == id)) + if (!cityGameData.CompletedProductList.Exists(data => data.Number == id)) { continue; } - gameData.AddTastingCustomerCount(count); + cityGameData.AddTastingCustomerCount(count); } - gameData.CancelOrderId = gameData.OrderIdInProgress; + cityGameData.CancelOrderId = cityGameData.OrderIdInProgress; // カウントリセット - gameData.OrderConditionCount = 0; + globalGameData.OrderConditionCount = 0; GameDataManager.SaveGameData(); // 試食スタート BrotherPinkView.Instance.StartTasting(); @@ -88,11 +89,11 @@ public class BulkOrder : MonoBehaviour }).AddTo(this); // 納品チェック - var completed = gameData.CompletedProductList.Count == bulkOrderData.OrderList.Count(tuple => tuple.productId != 0); - var delivered = gameData.DeliveredOrder.Contains(bulkOrderData.id); + var completed = cityGameData.CompletedProductList.Count == bulkOrderData.OrderList.Count(tuple => tuple.productId != 0); + var delivered = cityGameData.DeliveredOrder.Contains(bulkOrderData.id); if (completed) { - orderCharacterImage.sprite = bulkOrderCharacter.GetThanksIcon(gameData.OrderIconIndex); + orderCharacterImage.sprite = bulkOrderCharacter.GetThanksIcon(cityGameData.OrderIconIndex); } deliveredButton.interactable = completed && !delivered; disabledButtonObject.SetActive(!deliveredButton.interactable); @@ -104,33 +105,33 @@ public class BulkOrder : MonoBehaviour { // 獲得 var rarityList = SpreadsheetDataManager.Instance.GetBaseDataList(Const.RarityDataSheet); - var bonus = CalcBonus(rarityList, gameData.CompletedProductList, bulkOrderData.rewardHeart); + var bonus = CalcBonus(rarityList, cityGameData.CompletedProductList, bulkOrderData.rewardHeart); CoinManager.Instance.AddCoinForBulkOrder(bulkOrderData.rewardCoin + bonus, coinPos); - gameData.Coin = CoinManager.Instance.OwnCoin; + cityGameData.Coin = CoinManager.Instance.OwnCoin; /* * アニメーション終了後にハートを加算する * WaitAddHeartとMoveHeartは対で使うほうが処理がわかりやすいため * シーン遷移などでアニメーションが中断された場合に加算が実行されるようにしている */ - gameData.WaitAddHeart += bulkOrderData.rewardHeart; + cityGameData.WaitAddHeart += bulkOrderData.rewardHeart; HeartMeter.Instance.AddHeartForBulkOrder(heartPos, () => { - GameDataManager.GameData.MoveHeart(bulkOrderData.rewardHeart); + cityGameData.MoveHeart(bulkOrderData.rewardHeart); }); // カウントリセット - gameData.OrderConditionCount = 0; - gameData.DeliveredOrder.Add(bulkOrderData.id); - gameData.BulkOrderDeliveredCount++; - gameData.DailyBulkOrderDeliveredCount++; + globalGameData.OrderConditionCount = 0; + cityGameData.DeliveredOrder.Add(bulkOrderData.id); + cityGameData.BulkOrderDeliveredCount++; + globalGameData.DailyBulkOrderDeliveredCount++; #if UNITY_EDITOR - Debug.Log($"Delivered:{gameData.DeliveredOrder.Count}/{bulkOrderData.maxOrder}"); + Debug.Log($"Delivered:{cityGameData.DeliveredOrder.Count}/{bulkOrderData.maxOrder}"); #endif // オーダー上限を超えるとそのLevelでの注文終了 - if (gameData.DeliveredOrder.Count == bulkOrderData.maxOrder) + if (cityGameData.DeliveredOrder.Count == bulkOrderData.maxOrder) { - gameData.DeliveredOrder.Clear(); - gameData.AchievedOrderLevel = bulkOrderData.shopLevel; + cityGameData.DeliveredOrder.Clear(); + cityGameData.AchievedOrderLevel = bulkOrderData.shopLevel; } GameDataManager.SaveGameData(); LocalCacheManager.Load(AchievedCallbackTag, null)?.Invoke(); @@ -155,7 +156,7 @@ public class BulkOrder : MonoBehaviour var countByVolume = orderTuple.count / productData.volume; var bulkProductData = new ProductData(productData, countByVolume){volume = productData.volume * countByVolume}; itemViews[i].SetData(bulkProductData); - if (gameData.CompletedProductList.FirstOrDefault(data => data.Number == orderTuple.id) is { } resultData) + if (cityGameData.CompletedProductList.FirstOrDefault(data => data.Number == orderTuple.id) is { } resultData) { itemViews[i].SetCooked(resultData.Rarity); } @@ -248,8 +249,8 @@ delivered:{cityGameData.DeliveredOrder.Aggregate(string.Empty, (s, data) => $"{s // キャンセル時retryConditionを使う var condition = canceled ? orderData.retryCondition : orderData.firstOrderCondition; #if UNITY_EDITOR - Debug.Log($"nextOrderId: {orderData.id} use {(canceled ? "retryCondition" : "firstOrderCondition")} ({cityGameData.OrderConditionCount}/{condition})"); + Debug.Log($"nextOrderId: {orderData.id} use {(canceled ? "retryCondition" : "firstOrderCondition")} ({globalGameData.OrderConditionCount}/{condition})"); #endif - return condition <= cityGameData.OrderConditionCount ? orderData : null; + return condition <= globalGameData.OrderConditionCount ? orderData : null; } } \ No newline at end of file diff --git a/popcorn/Assets/MyGame/Scenes/Main/Scripts/BulkOrderAchievedView.cs b/popcorn/Assets/MyGame/Scenes/Main/Scripts/BulkOrderAchievedView.cs index 0fc04710..1c3c68a4 100644 --- a/popcorn/Assets/MyGame/Scenes/Main/Scripts/BulkOrderAchievedView.cs +++ b/popcorn/Assets/MyGame/Scenes/Main/Scripts/BulkOrderAchievedView.cs @@ -27,15 +27,15 @@ public class BulkOrderAchievedView : MonoBehaviour { if (LocalCacheManager.Load(BulkOrder.DataTag, null) is BulkOrderData orderData) { - var gameData = GameDataManager.GameData; + var cityGameData = GameDataManager.GetCurrentCityGameData(); var messageList = SpreadsheetDataManager.Instance.GetBaseDataList(Const.BulkOrderTextDataSheet); var rarityList = SpreadsheetDataManager.Instance.GetBaseDataList(Const.RarityDataSheet); - var bonus = BulkOrder.CalcBonus(rarityList, gameData.CompletedProductList, orderData.rewardHeart); + var bonus = BulkOrder.CalcBonus(rarityList, cityGameData.CompletedProductList, orderData.rewardHeart); heartText.text = orderData.rewardHeart.ToString(); coinText.text = orderData.rewardCoin.ToString(); bonusCoinText.text = bonus.ToString(); - messageText.text = messageList.First(data => data.id == gameData.OrderTextId).ThanksText; - orderCharacterImage.sprite = bulkOrderCharacter.GetThanksIcon(gameData.OrderIconIndex); + messageText.text = messageList.First(data => data.id == cityGameData.OrderTextId).ThanksText; + orderCharacterImage.sprite = bulkOrderCharacter.GetThanksIcon(cityGameData.OrderIconIndex); } closeButton.OnClickAsObservable().Take(1).Subscribe(_ => { diff --git a/popcorn/Assets/MyGame/Scenes/Main/Scripts/BulkOrderNotifyView.cs b/popcorn/Assets/MyGame/Scenes/Main/Scripts/BulkOrderNotifyView.cs index 48758116..4acfc0e5 100644 --- a/popcorn/Assets/MyGame/Scenes/Main/Scripts/BulkOrderNotifyView.cs +++ b/popcorn/Assets/MyGame/Scenes/Main/Scripts/BulkOrderNotifyView.cs @@ -26,15 +26,15 @@ public class BulkOrderNotifyView : MonoBehaviour { if (LocalCacheManager.Load(BulkOrder.DataTag, null) is BulkOrderData orderData) { - var gameData = GameDataManager.GameData; + var cityGameData = GameDataManager.GetCurrentCityGameData(); var messageList = SpreadsheetDataManager.Instance.GetBaseDataList(Const.BulkOrderTextDataSheet); - messageText.text = messageList.First(data => data.id == gameData.OrderTextId).RequestText; + messageText.text = messageList.First(data => data.id == cityGameData.OrderTextId).RequestText; coinText.text = orderData.rewardCoin.ToString(); heartText.text = orderData.rewardHeart.ToString(); - gameData.OrderIconIndex = bulkOrderCharacter.GetRandomIndex(); + cityGameData.OrderIconIndex = bulkOrderCharacter.GetRandomIndex(); GameDataManager.SaveGameData(); - orderCharacterImage.sprite = bulkOrderCharacter.GetNormalIcon(gameData.OrderIconIndex); + orderCharacterImage.sprite = bulkOrderCharacter.GetNormalIcon(cityGameData.OrderIconIndex); var productList = SpreadsheetDataManager.Instance.GetBaseDataList(Const.ProductDataSheet); if (productList.FirstOrDefault(data => data.id == orderData.productId1) is ProductData data1)