diff --git a/popcorn/Assets/MyGame/Scenes/marketing/Scripts/Market.cs b/popcorn/Assets/MyGame/Scenes/marketing/Scripts/Market.cs index c58aaa74..977b9521 100644 --- a/popcorn/Assets/MyGame/Scenes/marketing/Scripts/Market.cs +++ b/popcorn/Assets/MyGame/Scenes/marketing/Scripts/Market.cs @@ -470,9 +470,26 @@ public class Market : SingletonMonoBehaviour } // 補充候補リスト var orders = Enumerable.Range(0, shopStock.Count).Except(shuffledOrder).ToList(); - var refillList = orders.OrderBy(_ => Random.value).ToList(); + var refillList = orders.GetRange(0, refillCount).OrderBy(_ => Random.value).ToList(); shuffledOrder.AddRange(refillList); - displayFlavors = shopStock.ToList(); + try + { + if (displayFlavors.Count <= shopStock.Count) + { + displayFlavors = shopStock.ToList(); + } + else + { + for (int i = 0; i < refillList.Count; i++) + { + displayFlavors[refillList[i]] = shopStock[shopStock.Count - 1 - i]; + } + } + } + catch (Exception e) + { + throw; + } return refillList; } diff --git a/popcorn/Assets/MyGame/Scenes/marketing/Scripts/MarketManager.cs b/popcorn/Assets/MyGame/Scenes/marketing/Scripts/MarketManager.cs index 8aae8266..7ed977d2 100644 --- a/popcorn/Assets/MyGame/Scenes/marketing/Scripts/MarketManager.cs +++ b/popcorn/Assets/MyGame/Scenes/marketing/Scripts/MarketManager.cs @@ -83,7 +83,23 @@ public class MarketManager : MonoBehaviour productDataList = SpreadsheetDataManager.Instance.GetBaseDataList(Const.ProductDataSheet); stockView.SetStock(gameData.StorageTanks); - var startStocks = market.ShuffledOrder.Select(x => (x, market.DisplayFlavors[x])).ToList(); + List<(int, ProductStockData)> startStocks; + try + { + startStocks = market.ShuffledOrder.Select(x => (x, market.DisplayFlavors[x])).ToList(); + } + catch (Exception e) + { +#if UNITY_EDITOR + Debug.LogError($"{market.ShuffledOrder.Count}, {market.DisplayFlavors.Count}"); +#endif + /* + * 例外握りつぶし + */ + startStocks = market.ShuffledOrder + .Where(x => x < market.DisplayFlavors.Count) + .Select(x => (x, market.DisplayFlavors[x])).ToList(); + } cartView.Initialize(); cartView.SetStock(startStocks, false); BrotherPinkView.Instance.SetBrotherView(pinkTarget);