Deselect fonctionnel
This commit is contained in:
parent
f39f019912
commit
9e20b0d463
@ -4675,6 +4675,7 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 4c63e60a445cf4549999d898b25ab0ea, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_canvas: {fileID: 1092900231}
|
||||
--- !u!1 &1761692192
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@ -1,44 +1,49 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.EventSystems;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class DeselectManager : SingletonBehaviour<DeselectManager>
|
||||
{
|
||||
private GameObject _allyUpgrade;
|
||||
[SerializeField]
|
||||
private Canvas _canvas;
|
||||
|
||||
private void Update()
|
||||
{
|
||||
if (Input.GetMouseButton(0) && _allyUpgrade != null)
|
||||
{
|
||||
// Verifie var si click est sur un enfant d'AllyUpgrade
|
||||
|
||||
GameObject selectedObject = UnityEngine.EventSystems.EventSystem.current.currentSelectedGameObject;
|
||||
if (selectedObject != null && selectedObject.transform.IsChildOf(_allyUpgrade.transform))
|
||||
// Vérifie si click est sur un enfant d'AllyUpgrade
|
||||
PointerEventData pointerData = new PointerEventData(EventSystem.current)
|
||||
{
|
||||
position = Input.mousePosition
|
||||
};
|
||||
List<RaycastResult> results = new List<RaycastResult>();
|
||||
GraphicRaycaster raycaster = _canvas.GetComponent<GraphicRaycaster>();
|
||||
raycaster.Raycast(pointerData, results);
|
||||
foreach (RaycastResult result in results)
|
||||
{
|
||||
if (result.gameObject.transform.IsChildOf(_allyUpgrade.transform))
|
||||
{
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.Log("Called to deselect from Observer");
|
||||
}
|
||||
Destroy(_allyUpgrade);
|
||||
_allyUpgrade = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void SetAllyUpgrade(GameObject allyUpgradeInstance)
|
||||
{
|
||||
if (_allyUpgrade == null)
|
||||
{
|
||||
_allyUpgrade = allyUpgradeInstance;
|
||||
|
||||
}
|
||||
else if (_allyUpgrade != allyUpgradeInstance)
|
||||
{
|
||||
Destroy(_allyUpgrade);
|
||||
_allyUpgrade = allyUpgradeInstance;
|
||||
}
|
||||
Debug.Log("AllyUpgrade set: " + _allyUpgrade?.name);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user