From 1e8e4afe1f8ea0f93c8f7fab4ca51a4c65b9c92d Mon Sep 17 00:00:00 2001 From: kimura Date: Wed, 20 Jul 2022 16:40:44 +0900 Subject: [PATCH] =?UTF-8?q?=E3=83=87=E3=83=BC=E3=82=BF=E6=A7=8B=E9=80=A0?= =?UTF-8?q?=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MyGame/Scenes/MiniGame/Scripts/GameManager.cs | 2 +- .../Scenes/MiniGame/Scripts/ResultManager.cs | 14 +++++++------- .../Scenes/MiniGame/Scripts/StageSelectView.cs | 2 +- popcorn/Assets/MyGame/Scripts/SpreadsheetData.cs | 5 ++++- 4 files changed, 13 insertions(+), 10 deletions(-) diff --git a/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/GameManager.cs b/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/GameManager.cs index d418e23f..445f843a 100644 --- a/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/GameManager.cs +++ b/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/GameManager.cs @@ -85,7 +85,7 @@ namespace MyGame.Scenes.MiniGame.Scripts var placeScore = gameData.ScrollGamePlaceScoreList.FirstOrDefault(data => data.Id == placeId)?.Score ?? 0; stageSelectView.SetScore(placeScore); // 達成報酬更新 - stageSelectView.SetRecipeActive(placeScore < levelPlaceList[1].needScore); + stageSelectView.SetRecipeActive(placeScore < levelPlaceList[1].NeedScore); }).AddTo(this); for (var i = 0; i < levelStageList.Length; i++) { diff --git a/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/ResultManager.cs b/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/ResultManager.cs index 43d82c51..cb48db23 100644 --- a/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/ResultManager.cs +++ b/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/ResultManager.cs @@ -69,26 +69,26 @@ namespace MyGame.Scenes.MiniGame.Scripts var prevPlaceScore = placeScoreData.Score; placeScoreData.Score += score; + // 素材獲得 foreach (var placeData in placeList.Where(data => data.itemId != 0)) { - var amount = Mathf.FloorToInt((float)score / placeData.needScore); var shopData = shopDataList.FirstOrDefault(data => data.itemId == placeData.itemId && data.Category == ItemCategory.Material); - // materialNameText.text = shopData.Name; materialImageTarget.DestroyAllChildrens(); Instantiate(shopData.GetIconPrefab(), materialImageTarget); materialAmountText.text = $"x{amount}"; Shopping.AddItem(shopData, amount); } + // レシピ獲得 var recipePlaceData = placeList - .OrderBy(data => data.needScore) + .OrderBy(data => data.NeedScore) // .Where(data => !gameData.MyRecipes.Contains(data.recipeId)) .FirstOrDefault(data => data.recipeId != 0); #if UNITY_EDITOR - recipePlaceData = prevPlaceScore < recipePlaceData.needScore ? recipePlaceData : null; + recipePlaceData = prevPlaceScore < recipePlaceData.NeedScore ? recipePlaceData : null; #endif var hasRecipeData = recipePlaceData != null; - var achievedRecipe = hasRecipeData && placeScoreData.Score >= recipePlaceData.needScore; + var achievedRecipe = hasRecipeData && placeScoreData.Score >= recipePlaceData.NeedScore; if (achievedRecipe) { if (!gameData.MyRecipes.Contains(recipePlaceData.recipeId)) @@ -109,11 +109,11 @@ namespace MyGame.Scenes.MiniGame.Scripts if (hasRecipeData) { meterObject.SetActive(true); - SetProgress((float)prevPlaceScore / recipePlaceData.needScore, false); + SetProgress((float)prevPlaceScore / recipePlaceData.NeedScore, false); this.CallWaitForSeconds(waitProgress, () => { SoundManager.Instance.PlaySE("se_minigame_meter"); - SetProgress((float)placeScoreData.Score / recipePlaceData.needScore, true, () => + SetProgress((float)placeScoreData.Score / recipePlaceData.NeedScore, true, () => { if (achievedRecipe) { diff --git a/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/StageSelectView.cs b/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/StageSelectView.cs index 515016f6..42268cca 100644 --- a/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/StageSelectView.cs +++ b/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/StageSelectView.cs @@ -39,7 +39,7 @@ namespace MyGame.Scenes.MiniGame.Scripts { var productData = productDataList.FirstOrDefault(data => data.id == placeData.recipeId); recipeText.text = $"{LocalizationManager.GetTranslation("UI/RewardItem")}{productData.Name}"; - recipeNeedScoreText.text = $"{LocalizationManager.GetTranslation("UI/NeedScore")}{placeData.needScore}"; + recipeNeedScoreText.text = $"{LocalizationManager.GetTranslation("UI/NeedScore")}{placeData.NeedScore}"; } } } diff --git a/popcorn/Assets/MyGame/Scripts/SpreadsheetData.cs b/popcorn/Assets/MyGame/Scripts/SpreadsheetData.cs index 6f98bd1b..aa0f8bdc 100644 --- a/popcorn/Assets/MyGame/Scripts/SpreadsheetData.cs +++ b/popcorn/Assets/MyGame/Scripts/SpreadsheetData.cs @@ -540,7 +540,10 @@ public sealed class ScrollGamePlaceData { public int id; public int placeId; - public int needScore; + public string needScore; + public int NeedScore => NeedScores.Length > 0 ? NeedScores[0] : default; + private string[] NeedScoreStrings => needScore.Split(','); + public int[] NeedScores => NeedScoreStrings.Length >= 2 ? NeedScoreStrings.Select(int.Parse).ToArray() : Enumerable.Repeat(NeedScoreStrings[0].ToInt(), 2).ToArray(); public int itemId; public int recipeId; public int customizeId;