using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using JC.Unity.UI; using JC.Unity; public class MouseConfirm : MonoBehaviour { [SerializeField] Button btnConfirm; Selectable _targetSelectable; Selectable _selfSelectable; bool _prepared = false; void Awake() { btnConfirm.gameObject.SetActive(false); } void Start() { _selfSelectable = btnConfirm.GetComponent(); btnConfirm.onClick.AddListener(OnClikc_Confirm); } void Update() { if (!SB_EventSystem.ins.simulateMouseIsAwaked) { Hide(); return; } if (!SB_EventSystem.ins.simulateMouse.GetCurrentSelectable()) { Hide(); return; } if (_targetSelectable) { if (!_prepared) { _prepared = true; btnConfirm.transform.position = RectTransformUtils.GetPositionByPivot(_targetSelectable.transform as RectTransform, Vector2.one * 0.5f); btnConfirm.gameObject.SetActive(true); GetComponent().sortingOrder = _targetSelectable.GetComponentInParent().sortingOrder + 1; } } else { Hide(); } } void Show() { _prepared = false; if (!gameObject.activeSelf) gameObject.SetActive(true); } void Hide() { _targetSelectable = null; btnConfirm.gameObject.SetActive(false); if (gameObject.activeSelf) gameObject.SetActive(false); } void OnClikc_Confirm() { try { if (_targetSelectable && _targetSelectable.interactable) { Button btn = _targetSelectable.GetComponent