ProjectDDD/Assets/_DDD/_Scripts/GameUi/BasePopupUi.cs

31 lines
891 B
C#

using UnityEngine;
using UnityEngine.EventSystems;
namespace DDD
{
public abstract class BasePopupUi : BaseUi
{
public abstract InputActionMaps InputActionMaps { get; }
protected abstract GameObject GetInitialSelected();
protected override void Update()
{
base.Update();
var currentSelectedGameObject = EventSystem.current.currentSelectedGameObject;
if (!currentSelectedGameObject || currentSelectedGameObject.activeInHierarchy == false)
{
if (!GetInitialSelected()) return;
EventSystem.current.SetSelectedGameObject(GetInitialSelected());
}
}
public override void Open()
{
base.Open();
EventSystem.current.SetSelectedGameObject(GetInitialSelected());
}
}
}