NLDClient-yudde/ProjectNLD/Assets/Code/Scripts/Gameplay/Level/State/LevelBaseState.cs

43 lines
1.0 KiB
C#

using Framework;
using TGS;
using UnityEngine;
namespace Gameplay.Level
{
public abstract class LevelBaseState : IState
{
protected Level _level;
public LevelBaseState(Level level)
{
_level = level;
}
public void OnEnter()
{
InputManager.Instance.OnClick += _OnClick;
_OnEnter();
}
public void OnUpdate(float deltaTime)
{
_OnUpdate(deltaTime);
}
public void OnExit()
{
_OnExit();
// _level.Map.TerrainGridSystem.OnCellClick -= _OnCellClick;
InputManager.Instance.OnClick -= _OnClick;
}
protected abstract void _OnEnter();
protected abstract void _OnUpdate(float deltaTime);
protected abstract void _OnExit();
protected abstract void _OnCellClick(TerrainGridSystem tgs, int cellIndex, int buttonIndex);
protected abstract void _OnClick(Vector2 screenPosition);
}
}