2023-08-22 19:08:45 +08:00
|
|
|
using Framework;
|
|
|
|
|
using TGS;
|
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
|
|
|
|
namespace Gameplay.Level
|
|
|
|
|
{
|
2023-10-19 15:00:19 +08:00
|
|
|
public abstract class LevelBaseState : IState
|
2023-08-22 19:08:45 +08:00
|
|
|
{
|
|
|
|
|
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);
|
|
|
|
|
}
|
|
|
|
|
}
|