This commit is contained in:
2026-05-30 09:16:35 +07:00
parent 2f87ce19a7
commit 1c0ee6efb7
4001 changed files with 3363438 additions and 1738 deletions

View File

@@ -0,0 +1,44 @@
using System.Collections;
using UnityEngine;
using UnityEngine.EventSystems;
namespace Invector.vItemManager
{
public class vSetFirstSelectable : MonoBehaviour
{
public GameObject firstSelectable;
[Tooltip("True: Execute Selection Handler Event - False: Execute Pointer Enter Handler Event")]
public bool callSelectHandle = true;
public void ApplyFirstSelectable(GameObject firstSelectable)
{
this.firstSelectable = firstSelectable;
}
void OnEnable()
{
StartCoroutine(SetSelectableHandle(firstSelectable));
}
IEnumerator SetSelectableHandle(GameObject target)
{
if (this.enabled)
{
yield return new WaitForEndOfFrame();
SetSelectable(target);
}
}
void SetSelectable(GameObject target)
{
var pointer = new PointerEventData(EventSystem.current);
ExecuteEvents.Execute(EventSystem.current.currentSelectedGameObject, pointer, ExecuteEvents.pointerExitHandler);
EventSystem.current.SetSelectedGameObject(target, new BaseEventData(EventSystem.current));
if(callSelectHandle)
ExecuteEvents.Execute(target, pointer, ExecuteEvents.selectHandler);
else
ExecuteEvents.Execute(target, pointer, ExecuteEvents.pointerEnterHandler);
}
}
}