using System.Collections; using System.Collections.Generic; using UnityEngine; public class DeselectManager : SingletonBehaviour { private GameObject _allyUpgrade; 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)) { 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); } }