Files

61 lines
1.9 KiB
C#

using System.Collections.Generic;
using System.Linq;
using BriarQueen.Data.Identifiers;
using BriarQueen.Data.IO.Saves;
using BriarQueen.Framework.Managers.Hints.Data;
using BriarQueen.Framework.Managers.Levels.Data;
using Cysharp.Threading.Tasks;
using UnityEngine;
using UnityEngine.UI;
namespace BriarQueen.Game.Levels.ChapterOne.Village
{
public class Village : BaseLevel
{
[Header("Level Setup")]
[SerializeField]
private Image _background;
[SerializeField]
private Sprite _waterFlowingSprite;
[Header("Items")]
[SerializeField]
private BaseItem _chainAndLock;
[SerializeField]
private BaseItem _vines;
public override string LevelName => "Village";
public override bool IsPuzzleLevel => false;
public override int CurrentLevelHintStage { get; set; }
public override Dictionary<int, BaseHint> Hints { get; }
protected override async UniTask PostLoadInternal()
{
Debug.Log("[Village] Post Load Internal");
Debug.Log($"[Village] Post Load Internal - Pumphouse Open - {SaveManager.GetLevelFlag(LevelFlag.PumpHouseOpened)}");
if (SaveManager.GetLevelFlag(LevelFlag.PumpHouseOpened))
{
if (_chainAndLock != null)
await DestructionService.Destroy(_chainAndLock.gameObject);
}
if (SaveManager.GetLevelFlag(LevelFlag.FountainVinesCut))
{
if (_vines != null)
await DestructionService.Destroy(_vines.gameObject);
}
if (SaveManager.GetLevelFlag(LevelFlag.PumpWaterRestored))
_background.sprite = _waterFlowingSprite;
}
protected override UniTask PostActivateInternal()
{
TutorialService.DisplayTutorial(TutorialPopupID.ReturnToPreviousLevel);
return UniTask.CompletedTask;
}
}
}