fix popup item menu and refactor ui system
This commit is contained in:
@@ -39,6 +39,8 @@ public class InGameMouseHandler : UnityEngine.Object
|
||||
{
|
||||
if (!EventSystem.current.IsPointerOverGameObject())
|
||||
{
|
||||
GameManager.Instance.UI.ClosePopupMenu();
|
||||
|
||||
if (_selectedObject != null)
|
||||
{
|
||||
_waypointVisual.SetWaypoint(_selectedObject._interactionPoint.position);
|
||||
@@ -58,26 +60,16 @@ public class InGameMouseHandler : UnityEngine.Object
|
||||
public void Update()
|
||||
{
|
||||
_ray = _camera.ScreenPointToRay(Mouse.current.position.ReadValue());
|
||||
//if(EventSystem.current.IsPointerOverGameObject())
|
||||
//{
|
||||
// return;
|
||||
//}
|
||||
//hide rounded menu
|
||||
if (Physics.Raycast(_ray, out var mouseRaycastHit, 100f, _selectableLayerMask))
|
||||
{
|
||||
mouseRaycastHit.transform.TryGetComponent(out _selectedObject);
|
||||
if (_selectedObject != null)
|
||||
{
|
||||
OnSelectedObjectChanged?.Invoke(this, new OnSelectedObjectChangedEventArgs() { SelectedObject = _selectedObject });
|
||||
}
|
||||
else
|
||||
{
|
||||
OnSelectedObjectChanged?.Invoke(this, new OnSelectedObjectChangedEventArgs() { SelectedObject = null });
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
OnSelectedObjectChanged?.Invoke(this, new OnSelectedObjectChangedEventArgs() { SelectedObject = null });
|
||||
}
|
||||
_selectedObject = null;
|
||||
OnSelectedObjectChanged?.Invoke(this, new OnSelectedObjectChangedEventArgs() { SelectedObject = null });
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user