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

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 class ShopLevelUp : MonoBehaviour
{ {
public static readonly string DataTag = "ShopLevelUpData"; public static readonly string DataTag = "ShopLevelUpData";
public static readonly string CallbackTag = "CallbackData";
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");
@ -39,6 +40,7 @@ public class ShopLevelUp : MonoBehaviour
GameDataManager.GameData.OrderConditionCount = 0; GameDataManager.GameData.OrderConditionCount = 0;
GameDataManager.SaveGameData(); GameDataManager.SaveGameData();
HeartMeter.Instance.SetShopLevel(GameDataManager.GameData.ViewedShopLevel, true); HeartMeter.Instance.SetShopLevel(GameDataManager.GameData.ViewedShopLevel, true);
LocalCacheManager.Load<Action>(CallbackTag, null).Invoke();
})); }));
TransitionManager.Instance.LoadSceneAdditive(GameScenes.Conversation); TransitionManager.Instance.LoadSceneAdditive(GameScenes.Conversation);
} }
@ -48,6 +50,7 @@ public class ShopLevelUp : MonoBehaviour
GameDataManager.GameData.OrderConditionCount = 0; GameDataManager.GameData.OrderConditionCount = 0;
GameDataManager.SaveGameData(); GameDataManager.SaveGameData();
HeartMeter.Instance.SetShopLevel(GameDataManager.GameData.ViewedShopLevel, true); HeartMeter.Instance.SetShopLevel(GameDataManager.GameData.ViewedShopLevel, true);
LocalCacheManager.Load<Action>(CallbackTag, null).Invoke();
} }
}); });
}).AddTo(this); }).AddTo(this);

View File

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

View File

@ -1,11 +1,13 @@
using System; using System;
using System.Linq; using System.Linq;
using MyGame.Scripts;
using UniRx; using UniRx;
using UnityEngine; using UnityEngine;
using UnityEngine.UI; using UnityEngine.UI;
public class RecipeDetailView : MonoBehaviour public class RecipeDetailView : MonoBehaviour
{ {
private static readonly string CallbackTag = "RecipeDetailViewCallback";
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");
private static readonly string flavorStockFormat = "所持数 :{0}"; private static readonly string flavorStockFormat = "所持数 :{0}";
@ -46,6 +48,7 @@ public class RecipeDetailView : MonoBehaviour
backgroundAnimator.SetTrigger(CloseTrigger); backgroundAnimator.SetTrigger(CloseTrigger);
this.CallWaitForSeconds(.25f, () => this.CallWaitForSeconds(.25f, () =>
{ {
LocalCacheManager.Load<Action>(CallbackTag, null)?.Invoke();
TransitionManager.Instance.UnloadScene(GameScenes.RecipeChoice); TransitionManager.Instance.UnloadScene(GameScenes.RecipeChoice);
}); });
}).AddTo(this); }).AddTo(this);
@ -178,4 +181,10 @@ public class RecipeDetailView : MonoBehaviour
.Where(tank => tank.IsEmpty || tank.FlavorId == data.id && !tank.IsFull) .Where(tank => tank.IsEmpty || tank.FlavorId == data.id && !tank.IsFull)
.Any(tank => data.volume <= tank.Capacity - tank.Stock); .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.Collections.Generic;
using System.Linq; using System.Linq;
using MyGame.Scripts;
using UniRx; using UniRx;
using UnityEngine; using UnityEngine;
using UnityEngine.UI; using UnityEngine.UI;
public class RecipeSelectDialog : MonoBehaviour 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 ScrollRect scrollRect;
[SerializeField] private RecipeView recipePrefab; [SerializeField] private RecipeView recipePrefab;
[SerializeField] private Button closeButton; [SerializeField] private Button closeButton;
@ -16,7 +23,13 @@ public class RecipeSelectDialog : MonoBehaviour
var gameData = GameDataManager.GameData; var gameData = GameDataManager.GameData;
closeButton.OnClickAsObservable().Subscribe(_ => 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); }).AddTo(this);
// レシピ一覧生成 // レシピ一覧生成
@ -57,4 +70,11 @@ public class RecipeSelectDialog : MonoBehaviour
LayoutRebuilder.ForceRebuildLayoutImmediate(content); LayoutRebuilder.ForceRebuildLayoutImmediate(content);
scrollRect.verticalNormalizedPosition = 1; 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);
}
} }