リザルト処理追加

This commit is contained in:
kimura 2021-09-21 13:30:33 +09:00
parent 1e87e5491a
commit 6e2508caa6
7 changed files with 123 additions and 21 deletions

View File

@ -1952,6 +1952,7 @@ GameObject:
serializedVersion: 6 serializedVersion: 6
m_Component: m_Component:
- component: {fileID: 1086724005} - component: {fileID: 1086724005}
- component: {fileID: 1086724006}
m_Layer: 5 m_Layer: 5
m_Name: rare m_Name: rare
m_TagString: Untagged m_TagString: Untagged
@ -1983,6 +1984,24 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1086724006
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1086724004}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 01738374a494495b82539c6ff39c1a3a, type: 3}
m_Name:
m_EditorClassIdentifier:
normalObject: {fileID: 0}
yellowObject: {fileID: 555119198}
copperObject: {fileID: 1184589420}
silverObject: {fileID: 1752228444}
goldObject: {fileID: 1032044846}
rainbowObject: {fileID: 2072945699}
--- !u!1 &1184589420 --- !u!1 &1184589420
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -12471,10 +12490,19 @@ MonoBehaviour:
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
smokeEffect: {fileID: 947177465739795019} smokeEffect: {fileID: 947177465739795019}
glitterEffect: {fileID: 1807287602921740329}
centerOkButton: {fileID: 2137066051} centerOkButton: {fileID: 2137066051}
perfectButton: {fileID: 1887559735} perfectButton: {fileID: 1887559735}
leftOkButton: {fileID: 312157412} leftOkButton: {fileID: 312157412}
destructionButton: {fileID: 781751670} destructionButton: {fileID: 781751670}
popcornImage: {fileID: 977215194}
popcornText: {fileID: 2078519775}
popcornTextPerfect: {fileID: 1906782496}
rarityText: {fileID: 1459407280}
rarityView: {fileID: 1086724006}
detailObject: {fileID: 1030818594}
explainObject: {fileID: 1360125025}
explainWithRarityObject: {fileID: 629729947}
perfectResultObject: {fileID: 642263093} perfectResultObject: {fileID: 642263093}
goodResultObject: {fileID: 1370567321} goodResultObject: {fileID: 1370567321}
failureResultObject: {fileID: 460945446} failureResultObject: {fileID: 460945446}

View File

@ -1,41 +1,91 @@
using System; using System;
using UniRx;
using UnityEngine; using UnityEngine;
using UnityEngine.UI; using UnityEngine.UI;
public class CookingResult : MonoBehaviour public class CookingResult : MonoBehaviour
{ {
public static readonly string CookingResultTag = "CookingResult"; private static readonly string RarityTextFormat = "売値 {0}% UP";
[SerializeField] private GameObject smokeEffect; [SerializeField] private GameObject smokeEffect;
[SerializeField] private GameObject glitterEffect;
[SerializeField] private Button centerOkButton; [SerializeField] private Button centerOkButton;
[SerializeField] private Button perfectButton; [SerializeField] private Button perfectButton;
[SerializeField] private Button leftOkButton; [SerializeField] private Button leftOkButton;
[SerializeField] private Button destructionButton; [SerializeField] private Button destructionButton;
[SerializeField] private Image popcornImage;
[SerializeField] private Text popcornText;
[SerializeField] private Text popcornTextPerfect;
[SerializeField] private Text rarityText;
[SerializeField] private RarityView rarityView;
[SerializeField] private GameObject detailObject;
[SerializeField] private GameObject explainObject;
[SerializeField] private GameObject explainWithRarityObject;
[SerializeField] private GameObject perfectResultObject; [SerializeField] private GameObject perfectResultObject;
[SerializeField] private GameObject goodResultObject; [SerializeField] private GameObject goodResultObject;
[SerializeField] private GameObject failureResultObject; [SerializeField] private GameObject failureResultObject;
private void Start() private void Start()
{ {
var data = LocalCacheManager.Load<RecipeData>(PopcornGameManager.CookingDataTag);
var result = CornResult.Good;
SetResult(result);
SetUI(result);
// 各種ボタン押下後、獲得処理
centerOkButton.OnClickAsObservable().Subscribe(_ =>
{
// 獲得、遷移
TransitionManager.Instance.LoadScene(GameScenes.Main);
}).AddTo(this);
perfectButton.OnClickAsObservable().Subscribe(_ =>
{
// 広告視聴後、Perfect表示
TransitionManager.Instance.UnloadScene(GameScenes.CookingResults, () =>
{
// UIリセットでもええかも
TransitionManager.Instance.LoadSceneAdditive(GameScenes.CookingResults);
});
}).AddTo(this);
leftOkButton.OnClickAsObservable().Subscribe(_ =>
{
// 獲得、遷移
TransitionManager.Instance.LoadScene(GameScenes.Main);
}).AddTo(this);
destructionButton.OnClickAsObservable().Subscribe(_ =>
{
// 遷移
TransitionManager.Instance.LoadScene(GameScenes.Main);
}).AddTo(this);
} }
private void SetData(RecipeData recipe, RarityData rarity)
{
// popcornImage
popcornText.text = recipe.Name;
popcornTextPerfect.text = recipe.Name;
rarityText.text = string.Format(RarityTextFormat, rarity.rate - 100);
rarityView.SetRarity(rarity.Rarity);
}
private void SetResult(CornResult result) private void SetResult(CornResult result)
{ {
switch (result) perfectResultObject.SetActive(result == CornResult.Perfect);
{ goodResultObject.SetActive(result == CornResult.Good);
case CornResult.Perfect: failureResultObject.SetActive(result == CornResult.Failure);
perfectResultObject.SetActive(true); }
break;
case CornResult.Good: private void SetUI(CornResult result)
goodResultObject.SetActive(true); {
break; smokeEffect.SetActive(result == CornResult.Failure);
case CornResult.Failure: glitterEffect.SetActive(result == CornResult.Perfect);
failureResultObject.SetActive(true); centerOkButton.gameObject.SetActive(result == CornResult.Perfect);
break; perfectButton.gameObject.SetActive(result != CornResult.Perfect);
default: leftOkButton.gameObject.SetActive(result == CornResult.Good);
throw new ArgumentOutOfRangeException(nameof(result), result, null); destructionButton.gameObject.SetActive(result == CornResult.Failure);
} detailObject.SetActive(result != CornResult.Failure);
explainObject.SetActive(result == CornResult.Good);
explainWithRarityObject.SetActive(result == CornResult.Perfect);
} }
} }

View File

@ -15,6 +15,7 @@ public enum GameState
public class PopcornGameManager : MonoBehaviour public class PopcornGameManager : MonoBehaviour
{ {
public static readonly string CookingDataTag = "CookingData";
// View // View
[SerializeField] private PopcornGameView gameView; [SerializeField] private PopcornGameView gameView;
@ -114,7 +115,7 @@ public class PopcornGameManager : MonoBehaviour
// というか1つのシーンにしてしまうか // というか1つのシーンにしてしまうか
if (x != CornResult.Failure) if (x != CornResult.Failure)
{ {
var recipe = LocalCacheManager.Load<RecipeData>(RecipeDetailView.DetailRecipeTag); var recipe = LocalCacheManager.Load<RecipeData>(CookingDataTag);
AddStock(recipe); AddStock(recipe);
} }
}); });

View File

@ -0,0 +1,21 @@
using UnityEngine;
public class RarityView : MonoBehaviour
{
[SerializeField] private GameObject normalObject;
[SerializeField] private GameObject yellowObject;
[SerializeField] private GameObject copperObject;
[SerializeField] private GameObject silverObject;
[SerializeField] private GameObject goldObject;
[SerializeField] private GameObject rainbowObject;
public void SetRarity(ProductRarity rarity)
{
normalObject?.SetActive(rarity == ProductRarity.Normal);
yellowObject?.SetActive(rarity == ProductRarity.Yellow);
copperObject?.SetActive(rarity == ProductRarity.Copper);
silverObject?.SetActive(rarity == ProductRarity.Silver);
goldObject?.SetActive(rarity == ProductRarity.Gold);
rainbowObject?.SetActive(rarity == ProductRarity.Rainbow);
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 01738374a494495b82539c6ff39c1a3a
timeCreated: 1632196580

View File

@ -6,7 +6,6 @@ using UnityEngine.UI;
public class RecipeDetailView : MonoBehaviour public class RecipeDetailView : MonoBehaviour
{ {
public static readonly string DetailRecipeTag = "RecipeData";
private static readonly int OpenTrigger = Animator.StringToHash("OpenTrigger"); private static readonly int OpenTrigger = Animator.StringToHash("OpenTrigger");
private static readonly int CloseTrigger = Animator.StringToHash("CloseTrigger"); private static readonly int CloseTrigger = Animator.StringToHash("CloseTrigger");
@ -28,7 +27,7 @@ public class RecipeDetailView : MonoBehaviour
private void Start() private void Start()
{ {
var data = LocalCacheManager.Load<RecipeData>(DetailRecipeTag); var data = LocalCacheManager.Load<RecipeData>(PopcornGameManager.CookingDataTag);
cancelButton.OnClickAsObservable().Subscribe(_ => cancelButton.OnClickAsObservable().Subscribe(_ =>
{ {

View File

@ -30,7 +30,7 @@ public class RecipeSelectDialog : MonoBehaviour
view.SetLockPanel(false); view.SetLockPanel(false);
view.RecipeClickObservable.Subscribe(_ => view.RecipeClickObservable.Subscribe(_ =>
{ {
LocalCacheManager.Save(RecipeDetailView.DetailRecipeTag, recipeData); LocalCacheManager.Save(PopcornGameManager.CookingDataTag, recipeData);
TransitionManager.Instance.LoadSceneAdditive(GameScenes.RecipeChoice); TransitionManager.Instance.LoadSceneAdditive(GameScenes.RecipeChoice);
}).AddTo(this); }).AddTo(this);
} }