店舗レベル/レシピダイアログにコールバック機能追加

This commit is contained in:
kimura 2021-10-26 12:22:11 +09:00
parent e0ff66d88f
commit 922b4dc6f4
4 changed files with 173 additions and 16 deletions

View File

@ -8,6 +8,7 @@ using UnityEngine.UI;
public class ShopLevelUp : MonoBehaviour
{
public static readonly string DataTag = "ShopLevelUpData";
public static readonly string CallbackTag = "CallbackData";
private static readonly int OpenTrigger = Animator.StringToHash("OpenTrigger");
private static readonly int CloseTrigger = Animator.StringToHash("CloseTrigger");
@ -39,6 +40,7 @@ public class ShopLevelUp : MonoBehaviour
GameDataManager.GameData.OrderConditionCount = 0;
GameDataManager.SaveGameData();
HeartMeter.Instance.SetShopLevel(GameDataManager.GameData.ViewedShopLevel, true);
LocalCacheManager.Load<Action>(CallbackTag, null).Invoke();
}));
TransitionManager.Instance.LoadSceneAdditive(GameScenes.Conversation);
}
@ -48,6 +50,7 @@ public class ShopLevelUp : MonoBehaviour
GameDataManager.GameData.OrderConditionCount = 0;
GameDataManager.SaveGameData();
HeartMeter.Instance.SetShopLevel(GameDataManager.GameData.ViewedShopLevel, true);
LocalCacheManager.Load<Action>(CallbackTag, null).Invoke();
}
});
}).AddTo(this);

View File

@ -206,7 +206,7 @@ GameObject:
- component: {fileID: 138926718}
- component: {fileID: 138926720}
- component: {fileID: 138926719}
m_Layer: 0
m_Layer: 5
m_Name: coin_Frame
m_TagString: Untagged
m_Icon: {fileID: 0}
@ -459,6 +459,81 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 269597408}
m_CullTransparentMesh: 0
--- !u!1001 &275912788
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 9117079084301130545, guid: 021717b65b165374faa3fcffaafedfc2,
type: 3}
propertyPath: m_RootOrder
value: 1
objectReference: {fileID: 0}
- target: {fileID: 9117079084301130545, guid: 021717b65b165374faa3fcffaafedfc2,
type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9117079084301130545, guid: 021717b65b165374faa3fcffaafedfc2,
type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9117079084301130545, guid: 021717b65b165374faa3fcffaafedfc2,
type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9117079084301130545, guid: 021717b65b165374faa3fcffaafedfc2,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 9117079084301130545, guid: 021717b65b165374faa3fcffaafedfc2,
type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9117079084301130545, guid: 021717b65b165374faa3fcffaafedfc2,
type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9117079084301130545, guid: 021717b65b165374faa3fcffaafedfc2,
type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9117079084301130545, guid: 021717b65b165374faa3fcffaafedfc2,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9117079084301130545, guid: 021717b65b165374faa3fcffaafedfc2,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9117079084301130545, guid: 021717b65b165374faa3fcffaafedfc2,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9117079084301130547, guid: 021717b65b165374faa3fcffaafedfc2,
type: 3}
propertyPath: m_Name
value: UICamera
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 021717b65b165374faa3fcffaafedfc2, type: 3}
--- !u!20 &275912789 stripped
Camera:
m_CorrespondingSourceObject: {fileID: 9117079084301130544, guid: 021717b65b165374faa3fcffaafedfc2,
type: 3}
m_PrefabInstance: {fileID: 275912788}
m_PrefabAsset: {fileID: 0}
--- !u!1 &374985848
GameObject:
m_ObjectHideFlags: 0
@ -618,7 +693,7 @@ GameObject:
- component: {fileID: 498799266}
- component: {fileID: 498799268}
- component: {fileID: 498799267}
m_Layer: 0
m_Layer: 5
m_Name: TextNumbers
m_TagString: Untagged
m_Icon: {fileID: 0}
@ -900,9 +975,9 @@ Canvas:
m_GameObject: {fileID: 679566761}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 0
m_Camera: {fileID: 0}
m_PlaneDistance: 100
m_RenderMode: 1
m_Camera: {fileID: 275912789}
m_PlaneDistance: 0
m_PixelPerfect: 0
m_ReceivesEvents: 1
m_OverrideSorting: 0
@ -910,7 +985,7 @@ Canvas:
m_SortingBucketNormalizedSize: 0
m_AdditionalShaderChannelsFlag: 25
m_SortingLayerID: 0
m_SortingOrder: 100
m_SortingOrder: 200
m_TargetDisplay: 0
--- !u!224 &679566765
RectTransform:
@ -1363,7 +1438,7 @@ GameObject:
- component: {fileID: 878944768}
- component: {fileID: 878944770}
- component: {fileID: 878944769}
m_Layer: 0
m_Layer: 5
m_Name: TextQuantity
m_TagString: Untagged
m_Icon: {fileID: 0}
@ -1437,7 +1512,7 @@ GameObject:
- component: {fileID: 930273407}
- component: {fileID: 930273409}
- component: {fileID: 930273408}
m_Layer: 0
m_Layer: 5
m_Name: icon_coin
m_TagString: Untagged
m_Icon: {fileID: 0}
@ -2385,6 +2460,21 @@ PrefabInstance:
m_Modification:
m_TransformParent: {fileID: 2086551031}
m_Modifications:
- target: {fileID: 2056109400442663925, guid: c84cc6844fe59ef4d8e52438b7bffa42,
type: 3}
propertyPath: m_Layer
value: 5
objectReference: {fileID: 0}
- target: {fileID: 2358514311597240715, guid: c84cc6844fe59ef4d8e52438b7bffa42,
type: 3}
propertyPath: m_Layer
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4570586286644907414, guid: c84cc6844fe59ef4d8e52438b7bffa42,
type: 3}
propertyPath: m_Layer
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4654596183118361121, guid: c84cc6844fe59ef4d8e52438b7bffa42,
type: 3}
propertyPath: m_FontData.m_MaxSize
@ -2405,6 +2495,11 @@ PrefabInstance:
propertyPath: m_Name
value: NecessaryMaterial2
objectReference: {fileID: 0}
- target: {fileID: 5352886967997046946, guid: c84cc6844fe59ef4d8e52438b7bffa42,
type: 3}
propertyPath: m_Layer
value: 5
objectReference: {fileID: 0}
- target: {fileID: 5352886967997046946, guid: c84cc6844fe59ef4d8e52438b7bffa42,
type: 3}
propertyPath: m_IsActive
@ -2515,6 +2610,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8915749249284169289, guid: c84cc6844fe59ef4d8e52438b7bffa42,
type: 3}
propertyPath: m_Layer
value: 5
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: c84cc6844fe59ef4d8e52438b7bffa42, type: 3}
--- !u!224 &1408233926 stripped
@ -2745,7 +2845,7 @@ GameObject:
- component: {fileID: 1497671329}
- component: {fileID: 1497671331}
- component: {fileID: 1497671330}
m_Layer: 0
m_Layer: 5
m_Name: TextNumbers
m_TagString: Untagged
m_Icon: {fileID: 0}
@ -2823,7 +2923,7 @@ GameObject:
- component: {fileID: 1517415305}
- component: {fileID: 1517415307}
- component: {fileID: 1517415306}
m_Layer: 0
m_Layer: 5
m_Name: Quantity_Frame
m_TagString: Untagged
m_Icon: {fileID: 0}
@ -3015,7 +3115,7 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 1782089965}
m_Layer: 0
m_Layer: 5
m_Name: Button_Arrow
m_TagString: Untagged
m_Icon: {fileID: 0}
@ -3947,7 +4047,7 @@ GameObject:
- component: {fileID: 9162186555563969454}
- component: {fileID: 1888226413670878384}
- component: {fileID: 4654596182167880407}
m_Layer: 0
m_Layer: 5
m_Name: TextNumbers
m_TagString: Untagged
m_Icon: {fileID: 0}
@ -4000,7 +4100,7 @@ GameObject:
- component: {fileID: 5352886968946593879}
- component: {fileID: 5352886968946593878}
- component: {fileID: 5352886968946593877}
m_Layer: 0
m_Layer: 5
m_Name: CornAmount
m_TagString: Untagged
m_Icon: {fileID: 0}
@ -4111,6 +4211,21 @@ PrefabInstance:
m_Modification:
m_TransformParent: {fileID: 2086551031}
m_Modifications:
- target: {fileID: 2056109400442663925, guid: c84cc6844fe59ef4d8e52438b7bffa42,
type: 3}
propertyPath: m_Layer
value: 5
objectReference: {fileID: 0}
- target: {fileID: 2358514311597240715, guid: c84cc6844fe59ef4d8e52438b7bffa42,
type: 3}
propertyPath: m_Layer
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4570586286644907414, guid: c84cc6844fe59ef4d8e52438b7bffa42,
type: 3}
propertyPath: m_Layer
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4654596183118361121, guid: c84cc6844fe59ef4d8e52438b7bffa42,
type: 3}
propertyPath: m_FontData.m_MaxSize
@ -4131,6 +4246,11 @@ PrefabInstance:
propertyPath: m_Name
value: NecessaryMaterial1
objectReference: {fileID: 0}
- target: {fileID: 5352886967997046946, guid: c84cc6844fe59ef4d8e52438b7bffa42,
type: 3}
propertyPath: m_Layer
value: 5
objectReference: {fileID: 0}
- target: {fileID: 5352886967997046957, guid: c84cc6844fe59ef4d8e52438b7bffa42,
type: 3}
propertyPath: m_Pivot.x
@ -4236,6 +4356,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8915749249284169289, guid: c84cc6844fe59ef4d8e52438b7bffa42,
type: 3}
propertyPath: m_Layer
value: 5
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: c84cc6844fe59ef4d8e52438b7bffa42, type: 3}
--- !u!114 &5352886969301700758 stripped
@ -4419,7 +4544,7 @@ GameObject:
- component: {fileID: 6739113352738409278}
- component: {fileID: 8715719485123081862}
- component: {fileID: 318270869295207907}
m_Layer: 0
m_Layer: 5
m_Name: material
m_TagString: Untagged
m_Icon: {fileID: 0}

View File

@ -1,11 +1,13 @@
using System;
using System.Linq;
using MyGame.Scripts;
using UniRx;
using UnityEngine;
using UnityEngine.UI;
public class RecipeDetailView : MonoBehaviour
{
private static readonly string CallbackTag = "RecipeDetailViewCallback";
private static readonly int OpenTrigger = Animator.StringToHash("OpenTrigger");
private static readonly int CloseTrigger = Animator.StringToHash("CloseTrigger");
private static readonly string flavorStockFormat = "所持数 :{0}";
@ -46,6 +48,7 @@ public class RecipeDetailView : MonoBehaviour
backgroundAnimator.SetTrigger(CloseTrigger);
this.CallWaitForSeconds(.25f, () =>
{
LocalCacheManager.Load<Action>(CallbackTag, null)?.Invoke();
TransitionManager.Instance.UnloadScene(GameScenes.RecipeChoice);
});
}).AddTo(this);
@ -178,4 +181,10 @@ public class RecipeDetailView : MonoBehaviour
.Where(tank => tank.IsEmpty || tank.FlavorId == data.id && !tank.IsFull)
.Any(tank => data.volume <= tank.Capacity - tank.Stock);
}
public static void ShowDialog(Action onClose = null)
{
LocalCacheManager.Save(CallbackTag, onClose);
TransitionManager.Instance.LoadSceneAdditive(GameScenes.RecipeChoice);
}
}

View File

@ -1,12 +1,19 @@
using System.Collections;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using MyGame.Scripts;
using UniRx;
using UnityEngine;
using UnityEngine.UI;
public class RecipeSelectDialog : MonoBehaviour
{
private static readonly string CallbackTag = "RecipeSelectDialogCallback";
private static readonly int OpenTrigger = Animator.StringToHash("OpenTrigger");
private static readonly int CloseTrigger = Animator.StringToHash("CloseTrigger");
[SerializeField] private Animator backgroundAnimator;
[SerializeField] private ScrollRect scrollRect;
[SerializeField] private RecipeView recipePrefab;
[SerializeField] private Button closeButton;
@ -16,7 +23,13 @@ public class RecipeSelectDialog : MonoBehaviour
var gameData = GameDataManager.GameData;
closeButton.OnClickAsObservable().Subscribe(_ =>
{
TransitionManager.Instance.UnloadScene(GameScenes.Recipe);
transform.SetLocalScale(0);
backgroundAnimator.SetTrigger(CloseTrigger);
this.CallWaitForSeconds(.25f, () =>
{
LocalCacheManager.Load<Action>(CallbackTag, null)?.Invoke();
TransitionManager.Instance.UnloadScene(GameScenes.Recipe);
});
}).AddTo(this);
// レシピ一覧生成
@ -57,4 +70,11 @@ public class RecipeSelectDialog : MonoBehaviour
LayoutRebuilder.ForceRebuildLayoutImmediate(content);
scrollRect.verticalNormalizedPosition = 1;
}
public static void ShowDialog(ProductViewType type, Action onClose = null)
{
LocalCacheManager.Save(Const.ProductViewTypeTag, type);
LocalCacheManager.Save(CallbackTag, onClose);
TransitionManager.Instance.LoadSceneAdditive(GameScenes.Recipe);
}
}