Files
2026-03-04 10:03:45 +08:00

51 lines
917 B
C#

using UnityEngine;
using UnityEngine.EventSystems;
namespace Rewired.Integration.UnityUI
{
[AddComponentMenu("Rewired/Rewired Event System")]
public class RewiredEventSystem : EventSystem
{
[Tooltip("If enabled, the Event System will be updated every frame even if other Event Systems are enabled. Otherwise, only EventSystem.current will be updated.")]
[SerializeField]
private bool _alwaysUpdate;
public bool alwaysUpdate
{
get
{
return _alwaysUpdate;
}
set
{
_alwaysUpdate = value;
}
}
protected override void Update()
{
if (alwaysUpdate)
{
EventSystem eventSystem = EventSystem.current;
if (eventSystem != this)
{
EventSystem.current = this;
}
try
{
base.Update();
return;
}
finally
{
if (eventSystem != this)
{
EventSystem.current = eventSystem;
}
}
}
base.Update();
}
}
}