兄弟会話終了時の処理をCallback化

This commit is contained in:
kimura 2021-10-15 13:03:19 +09:00
parent fb8ab86254
commit f56bf7afa0
2 changed files with 12 additions and 5 deletions

View File

@ -9,6 +9,7 @@ using UnityEngine.UI;
public class BrotherConversation : MonoBehaviour public class BrotherConversation : MonoBehaviour
{ {
public static readonly string ScriptDataTag = "BrotherConversationScriptData"; public static readonly string ScriptDataTag = "BrotherConversationScriptData";
public static readonly string CallbackTag = "BrotherConversationCallback";
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");
@ -49,10 +50,8 @@ public class BrotherConversation : MonoBehaviour
backgroundAnimator.SetTrigger(CloseTrigger); backgroundAnimator.SetTrigger(CloseTrigger);
this.CallWaitForSeconds(.25f, () => this.CallWaitForSeconds(.25f, () =>
{ {
GameDataManager.GameData.ViewedShopLevel++; LocalCacheManager.Load<Action>(CallbackTag, null)?.Invoke();
GameDataManager.GameData.OrderConditionCount = 0; LocalCacheManager.Remove(CallbackTag);
GameDataManager.SaveGameData();
HeartMeter.Instance.SetShopLevel(GameDataManager.GameData.ViewedShopLevel, true);
TransitionManager.Instance.UnloadScene(GameScenes.Conversation); TransitionManager.Instance.UnloadScene(GameScenes.Conversation);
}); });
}).AddTo(this); }).AddTo(this);

View File

@ -33,11 +33,19 @@ public class ShopLevelUp : MonoBehaviour
if (targetScriptList.Count > 0) if (targetScriptList.Count > 0)
{ {
LocalCacheManager.Save(BrotherConversation.ScriptDataTag, targetScriptList); LocalCacheManager.Save(BrotherConversation.ScriptDataTag, targetScriptList);
LocalCacheManager.Save(BrotherConversation.CallbackTag, new Action(() =>
{
GameDataManager.GameData.ViewedShopLevel = shopLevel;
GameDataManager.GameData.OrderConditionCount = 0;
GameDataManager.SaveGameData();
HeartMeter.Instance.SetShopLevel(GameDataManager.GameData.ViewedShopLevel, true);
}));
TransitionManager.Instance.LoadSceneAdditive(GameScenes.Conversation); TransitionManager.Instance.LoadSceneAdditive(GameScenes.Conversation);
} }
else else
{ {
GameDataManager.GameData.ViewedShopLevel++; GameDataManager.GameData.ViewedShopLevel = shopLevel;
GameDataManager.GameData.OrderConditionCount = 0;
GameDataManager.SaveGameData(); GameDataManager.SaveGameData();
HeartMeter.Instance.SetShopLevel(GameDataManager.GameData.ViewedShopLevel, true); HeartMeter.Instance.SetShopLevel(GameDataManager.GameData.ViewedShopLevel, true);
} }