61 lines
1.9 KiB
C#
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;
|
|
}
|
|
}
|
|
} |