From 38c02e88773184e2762312bab96c68481299ab31 Mon Sep 17 00:00:00 2001 From: kimura Date: Mon, 27 Jun 2022 15:12:17 +0900 Subject: [PATCH] =?UTF-8?q?=E3=83=AA=E3=82=B6=E3=83=AB=E3=83=88UI=E8=AA=BF?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Scenes/MiniGame/Prefabs/Result.prefab | 4 ++-- .../Scenes/MiniGame/Scripts/ResultManager.cs | 23 +++++++++++++++---- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/popcorn/Assets/MyGame/Scenes/MiniGame/Prefabs/Result.prefab b/popcorn/Assets/MyGame/Scenes/MiniGame/Prefabs/Result.prefab index 01c95528..1624f3c5 100644 --- a/popcorn/Assets/MyGame/Scenes/MiniGame/Prefabs/Result.prefab +++ b/popcorn/Assets/MyGame/Scenes/MiniGame/Prefabs/Result.prefab @@ -1114,8 +1114,8 @@ MonoBehaviour: materialImage: {fileID: 5034752974552429102} materialAmountText: {fileID: 5034752974931089885} detailOffset: 250 - progressDuration: 2 - waitButtonActive: 2 + progressDuration: 1.5 + waitButtonActive: 3 waitProgress: 1.5 --- !u!1 &5034752975247083714 GameObject: diff --git a/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/ResultManager.cs b/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/ResultManager.cs index eab22878..70c0af5a 100644 --- a/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/ResultManager.cs +++ b/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/ResultManager.cs @@ -25,10 +25,16 @@ namespace MyGame.Scenes.MiniGame.Scripts [SerializeField] private float waitButtonActive = .5f; [SerializeField] private float waitProgress = .5f; private float progressValue; + private Vector3 defaultDetailObjectPos; public IObservable OnRetry => retryButton.OnClickAsObservable().TakeUntilDestroy(this); public IObservable OnClose => closeButton.OnClickAsObservable().TakeUntilDestroy(this); + private void Awake() + { + defaultDetailObjectPos = detailObject.transform.localPosition; + } + public void ShowResult(int score, ScrollGamePlaceData[] placeList, ScrollGameStageData stageData) { var gameData = GameDataManager.GameData; @@ -62,7 +68,7 @@ namespace MyGame.Scenes.MiniGame.Scripts 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); + var shopData = shopDataList.FirstOrDefault(data => data.itemId == placeData.itemId && data.Category == ItemCategory.Material); materialNameText.text = shopData.Name; // materialImage materialAmountText.text = $"x{amount}"; @@ -73,6 +79,9 @@ namespace MyGame.Scenes.MiniGame.Scripts .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; +#endif if (recipePlaceData != null && placeScoreData.Score >= recipePlaceData.needScore) { if (!gameData.MyRecipes.Contains(recipePlaceData.recipeId)) @@ -89,19 +98,25 @@ namespace MyGame.Scenes.MiniGame.Scripts detailObject.SetActive(true); // 商品獲得済みならレシピ非表示 - if (prevPlaceScore >= recipePlaceData.needScore) - // if (recipePlaceData is null) + if (recipePlaceData is null) { // detailの表示位置変更 detailObject.transform.SetLocalPositionY(detailOffset); } else { + detailObject.transform.SetLocalPositionY(defaultDetailObjectPos.y); meterObject.SetActive(true); SetProgress((float)prevPlaceScore / recipePlaceData.needScore, false); this.CallWaitForSeconds(waitProgress, () => { - SetProgress((float)placeScoreData.Score / recipePlaceData.needScore); + SetProgress((float)placeScoreData.Score / recipePlaceData.needScore, true, () => + { + if (placeScoreData.Score >= recipePlaceData.needScore) + { + ShopItemExchangeView.ShowDialog(shopDataList.FirstOrDefault(data => data.itemId == recipePlaceData.recipeId && data.Category == ItemCategory.Recipe)); + } + }); }); } this.CallWaitForSeconds(waitButtonActive, () =>