From 637257610f336d897a4846d41ef15389e224f393 Mon Sep 17 00:00:00 2001 From: Ader Alisma 01 Date: Sun, 2 Feb 2025 13:23:23 -0500 Subject: [PATCH 01/12] Start deselected Handler --- .../UI/BuyableUnitsView/UpgradeButtons.prefab | 99 ++++++++++++++++++- Assets/Scripts/Ally/AllyUpgrade.cs | 13 ++- .../Ally/UpgradeBackgroundInteraction.cs | 18 ++++ .../Ally/UpgradeBackgroundInteraction.cs.meta | 11 +++ Assets/Scripts/UnitTree/DeselectedAction.cs | 13 +++ .../Scripts/UnitTree/DeselectedAction.cs.meta | 11 +++ 6 files changed, 157 insertions(+), 8 deletions(-) create mode 100644 Assets/Scripts/Ally/UpgradeBackgroundInteraction.cs create mode 100644 Assets/Scripts/Ally/UpgradeBackgroundInteraction.cs.meta create mode 100644 Assets/Scripts/UnitTree/DeselectedAction.cs create mode 100644 Assets/Scripts/UnitTree/DeselectedAction.cs.meta diff --git a/Assets/Prefabs/UI/BuyableUnitsView/UpgradeButtons.prefab b/Assets/Prefabs/UI/BuyableUnitsView/UpgradeButtons.prefab index e81bfa1..3ef3da3 100644 --- a/Assets/Prefabs/UI/BuyableUnitsView/UpgradeButtons.prefab +++ b/Assets/Prefabs/UI/BuyableUnitsView/UpgradeButtons.prefab @@ -30,6 +30,7 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: + - {fileID: 3501783116545349986} - {fileID: 6716417799655040460} - {fileID: 7628964284593499177} - {fileID: 1691244495608687713} @@ -94,7 +95,7 @@ RectTransform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 4817988606444742094} - m_RootOrder: 3 + m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} @@ -127,6 +128,96 @@ MonoBehaviour: m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 m_ReverseArrangement: 0 +--- !u!1 &7208680640146097829 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3501783116545349986} + - component: {fileID: 4692438377285158079} + - component: {fileID: 5060206313964554553} + - component: {fileID: 4386748212301473067} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &3501783116545349986 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7208680640146097829} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 46.65209, y: 30.223253, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4817988606444742094} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4692438377285158079 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7208680640146097829} + m_CullTransparentMesh: 1 +--- !u!114 &5060206313964554553 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7208680640146097829} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 0} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &4386748212301473067 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7208680640146097829} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a21c0b3dd4bba9043b861395aef68445, type: 3} + m_Name: + m_EditorClassIdentifier: + _upgradeUI: {fileID: 4817988606444742093} --- !u!1001 &2008641878076503636 PrefabInstance: m_ObjectHideFlags: 0 @@ -152,7 +243,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 907652127959947829, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_RootOrder - value: 2 + value: 3 objectReference: {fileID: 0} - target: {fileID: 907652127959947829, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchorMax.x @@ -322,7 +413,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 907652127959947829, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_RootOrder - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 907652127959947829, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchorMax.x @@ -488,7 +579,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 907652127959947829, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_RootOrder - value: 1 + value: 2 objectReference: {fileID: 0} - target: {fileID: 907652127959947829, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchorMax.x diff --git a/Assets/Scripts/Ally/AllyUpgrade.cs b/Assets/Scripts/Ally/AllyUpgrade.cs index dfdd8b9..b166f4d 100644 --- a/Assets/Scripts/Ally/AllyUpgrade.cs +++ b/Assets/Scripts/Ally/AllyUpgrade.cs @@ -28,9 +28,10 @@ public class AllyUpgrade : MonoBehaviour, IPointerClickHandler { _instance = Instantiate(_upgradeUI, Camera.main.WorldToScreenPoint(transform.position), Quaternion.identity, canvas.transform); AssignUpgrades(canvas); + EventSystem.current.SetSelectedGameObject(_instance); + _instance.AddComponent(); } } - } else { @@ -47,9 +48,13 @@ public class AllyUpgrade : MonoBehaviour, IPointerClickHandler { if (_upgradeList.Count > i && _upgradeList[i] != null) { - GameObject upgradeEnfant = _instance.transform.GetChild(i).gameObject; - UpgradePlacementButton button = upgradeEnfant.GetComponent(); - button.Initialize(_upgradeList[i], gameObject, canvas); + GameObject upgradeEnfant = _instance.transform.Find("Upgrade" + (i + 1)).gameObject; + if (upgradeEnfant.TryGetComponent(out UpgradePlacementButton button)) + { + button.Initialize(_upgradeList[i], gameObject, canvas); + } + //UpgradePlacementButton button = upgradeEnfant.GetComponent(); + //button.Initialize(_upgradeList[i], gameObject, canvas); } } } diff --git a/Assets/Scripts/Ally/UpgradeBackgroundInteraction.cs b/Assets/Scripts/Ally/UpgradeBackgroundInteraction.cs new file mode 100644 index 0000000..6deb9e7 --- /dev/null +++ b/Assets/Scripts/Ally/UpgradeBackgroundInteraction.cs @@ -0,0 +1,18 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.EventSystems; + +public class UpgradeBackgroundInteraction : MonoBehaviour, IPointerClickHandler +{ + [SerializeField] + private GameObject _upgradeUI; + + public void OnPointerClick(PointerEventData eventData) + { + if (_upgradeUI != null) + { + Destroy(_upgradeUI); + } + } +} diff --git a/Assets/Scripts/Ally/UpgradeBackgroundInteraction.cs.meta b/Assets/Scripts/Ally/UpgradeBackgroundInteraction.cs.meta new file mode 100644 index 0000000..4a743c3 --- /dev/null +++ b/Assets/Scripts/Ally/UpgradeBackgroundInteraction.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a21c0b3dd4bba9043b861395aef68445 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/UnitTree/DeselectedAction.cs b/Assets/Scripts/UnitTree/DeselectedAction.cs new file mode 100644 index 0000000..d384fd7 --- /dev/null +++ b/Assets/Scripts/UnitTree/DeselectedAction.cs @@ -0,0 +1,13 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.EventSystems; + +public class DeselectedAction : MonoBehaviour, IDeselectHandler +{ + public void OnDeselect(BaseEventData eventData) + { + Debug.Log("Called to deselect"); + Destroy(gameObject); + } +} \ No newline at end of file diff --git a/Assets/Scripts/UnitTree/DeselectedAction.cs.meta b/Assets/Scripts/UnitTree/DeselectedAction.cs.meta new file mode 100644 index 0000000..ef2117d --- /dev/null +++ b/Assets/Scripts/UnitTree/DeselectedAction.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d1349fced40ce3242ab17aa6328d25b8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: -- 2.34.1 From 25308695e2a0d9b1f0bcc09d4aa537cba777be3a Mon Sep 17 00:00:00 2001 From: Ader Alisma 01 Date: Sat, 1 Mar 2025 22:00:02 -0500 Subject: [PATCH 02/12] Semi works. Console issues --- Assets/Scripts/Ally/AllyUpgrade.cs | 8 ++++++-- .../Ally/UpgradeBackgroundInteraction.cs | 18 ------------------ .../Ally/UpgradeBackgroundInteraction.cs.meta | 11 ----------- Assets/Scripts/UnitTree/DeselectedAction.cs | 9 +++++++++ 4 files changed, 15 insertions(+), 31 deletions(-) delete mode 100644 Assets/Scripts/Ally/UpgradeBackgroundInteraction.cs delete mode 100644 Assets/Scripts/Ally/UpgradeBackgroundInteraction.cs.meta diff --git a/Assets/Scripts/Ally/AllyUpgrade.cs b/Assets/Scripts/Ally/AllyUpgrade.cs index b166f4d..a3a6bb8 100644 --- a/Assets/Scripts/Ally/AllyUpgrade.cs +++ b/Assets/Scripts/Ally/AllyUpgrade.cs @@ -1,6 +1,7 @@ using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems; +using UnityEngine.UI; public class AllyUpgrade : MonoBehaviour, IPointerClickHandler { @@ -28,8 +29,9 @@ public class AllyUpgrade : MonoBehaviour, IPointerClickHandler { _instance = Instantiate(_upgradeUI, Camera.main.WorldToScreenPoint(transform.position), Quaternion.identity, canvas.transform); AssignUpgrades(canvas); - EventSystem.current.SetSelectedGameObject(_instance); - _instance.AddComponent(); + //EventSystem.current.SetSelectedGameObject(_instance); + //_instance.GetComponent().Select(); + //_instance.AddComponent(); } } } @@ -51,6 +53,8 @@ public class AllyUpgrade : MonoBehaviour, IPointerClickHandler GameObject upgradeEnfant = _instance.transform.Find("Upgrade" + (i + 1)).gameObject; if (upgradeEnfant.TryGetComponent(out UpgradePlacementButton button)) { + button.GetComponent().Select(); + button.gameObject.AddComponent(); button.Initialize(_upgradeList[i], gameObject, canvas); } //UpgradePlacementButton button = upgradeEnfant.GetComponent(); diff --git a/Assets/Scripts/Ally/UpgradeBackgroundInteraction.cs b/Assets/Scripts/Ally/UpgradeBackgroundInteraction.cs deleted file mode 100644 index 6deb9e7..0000000 --- a/Assets/Scripts/Ally/UpgradeBackgroundInteraction.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.EventSystems; - -public class UpgradeBackgroundInteraction : MonoBehaviour, IPointerClickHandler -{ - [SerializeField] - private GameObject _upgradeUI; - - public void OnPointerClick(PointerEventData eventData) - { - if (_upgradeUI != null) - { - Destroy(_upgradeUI); - } - } -} diff --git a/Assets/Scripts/Ally/UpgradeBackgroundInteraction.cs.meta b/Assets/Scripts/Ally/UpgradeBackgroundInteraction.cs.meta deleted file mode 100644 index 4a743c3..0000000 --- a/Assets/Scripts/Ally/UpgradeBackgroundInteraction.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: a21c0b3dd4bba9043b861395aef68445 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/UnitTree/DeselectedAction.cs b/Assets/Scripts/UnitTree/DeselectedAction.cs index d384fd7..f989891 100644 --- a/Assets/Scripts/UnitTree/DeselectedAction.cs +++ b/Assets/Scripts/UnitTree/DeselectedAction.cs @@ -5,9 +5,18 @@ using UnityEngine.EventSystems; public class DeselectedAction : MonoBehaviour, IDeselectHandler { + public delegate void OnPointerClick(PointerEventData eventData); + private OnPointerClick _onPointerClick; + + public DeselectedAction(OnPointerClick ooga) + { + _onPointerClick = ooga; + } + public void OnDeselect(BaseEventData eventData) { Debug.Log("Called to deselect"); + //_onPointerClick.Invoke((PointerEventData)eventData); Destroy(gameObject); } } \ No newline at end of file -- 2.34.1 From 679876ee219102cd96e20fe35c12ba5a2c723842 Mon Sep 17 00:00:00 2001 From: Ader Alisma 01 Date: Mon, 28 Apr 2025 12:57:13 -0400 Subject: [PATCH 03/12] Progress --- .../UI/BuyableUnitsView/UpgradeButtons.prefab | 68 ++++++++----------- Assets/Scripts/Ally/AllyUpgrade.cs | 19 ++++-- Assets/Scripts/UnitTree/DeselectedAction.cs | 11 ++- 3 files changed, 46 insertions(+), 52 deletions(-) diff --git a/Assets/Prefabs/UI/BuyableUnitsView/UpgradeButtons.prefab b/Assets/Prefabs/UI/BuyableUnitsView/UpgradeButtons.prefab index 3ef3da3..226e063 100644 --- a/Assets/Prefabs/UI/BuyableUnitsView/UpgradeButtons.prefab +++ b/Assets/Prefabs/UI/BuyableUnitsView/UpgradeButtons.prefab @@ -139,7 +139,6 @@ GameObject: - component: {fileID: 3501783116545349986} - component: {fileID: 4692438377285158079} - component: {fileID: 5060206313964554553} - - component: {fileID: 4386748212301473067} m_Layer: 5 m_Name: Background m_TagString: Untagged @@ -205,19 +204,6 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 ---- !u!114 &4386748212301473067 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7208680640146097829} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: a21c0b3dd4bba9043b861395aef68445, type: 3} - m_Name: - m_EditorClassIdentifier: - _upgradeUI: {fileID: 4817988606444742093} --- !u!1001 &2008641878076503636 PrefabInstance: m_ObjectHideFlags: 0 @@ -335,11 +321,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5139721979244350189, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 5139721979244350189, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 5139721979244350189, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchoredPosition.x @@ -347,15 +333,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5139721979244350189, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -47.711605 objectReference: {fileID: 0} - target: {fileID: 7106892478383455582, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 7106892478383455582, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 7106892478383455582, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchoredPosition.x @@ -363,15 +349,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7106892478383455582, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -26.874405 objectReference: {fileID: 0} - target: {fileID: 7112938880036038065, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 7112938880036038065, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 7112938880036038065, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchoredPosition.x @@ -379,7 +365,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7112938880036038065, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -6.0372024 objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} @@ -501,11 +487,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5139721979244350189, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 5139721979244350189, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 5139721979244350189, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchoredPosition.x @@ -513,15 +499,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5139721979244350189, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -47.711605 objectReference: {fileID: 0} - target: {fileID: 7106892478383455582, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 7106892478383455582, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 7106892478383455582, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchoredPosition.x @@ -529,15 +515,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7106892478383455582, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -26.874405 objectReference: {fileID: 0} - target: {fileID: 7112938880036038065, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 7112938880036038065, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 7112938880036038065, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchoredPosition.x @@ -545,7 +531,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7112938880036038065, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -6.0372024 objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} @@ -671,11 +657,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5139721979244350189, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 5139721979244350189, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 5139721979244350189, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchoredPosition.x @@ -683,15 +669,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5139721979244350189, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -47.711605 objectReference: {fileID: 0} - target: {fileID: 7106892478383455582, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 7106892478383455582, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 7106892478383455582, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchoredPosition.x @@ -699,15 +685,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7106892478383455582, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -26.874405 objectReference: {fileID: 0} - target: {fileID: 7112938880036038065, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 7112938880036038065, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 7112938880036038065, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchoredPosition.x @@ -715,7 +701,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7112938880036038065, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -6.0372024 objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3} diff --git a/Assets/Scripts/Ally/AllyUpgrade.cs b/Assets/Scripts/Ally/AllyUpgrade.cs index a3a6bb8..8aa9d3d 100644 --- a/Assets/Scripts/Ally/AllyUpgrade.cs +++ b/Assets/Scripts/Ally/AllyUpgrade.cs @@ -38,6 +38,7 @@ public class AllyUpgrade : MonoBehaviour, IPointerClickHandler else { Destroy(_instance); + _instance = null; } } @@ -53,12 +54,10 @@ public class AllyUpgrade : MonoBehaviour, IPointerClickHandler GameObject upgradeEnfant = _instance.transform.Find("Upgrade" + (i + 1)).gameObject; if (upgradeEnfant.TryGetComponent(out UpgradePlacementButton button)) { - button.GetComponent().Select(); - button.gameObject.AddComponent(); button.Initialize(_upgradeList[i], gameObject, canvas); + button.GetComponent().Select(); + button.gameObject.AddComponent().Init(_instance); } - //UpgradePlacementButton button = upgradeEnfant.GetComponent(); - //button.Initialize(_upgradeList[i], gameObject, canvas); } } } @@ -67,7 +66,19 @@ public class AllyUpgrade : MonoBehaviour, IPointerClickHandler { if (_instance != null) { + Debug.Log("Destroying upgrade UI"); Destroy(_instance); + _instance = null; } } + + //public void OnDeselect(BaseEventData eventData) + //{ + // if (_instance != null) + // { + // Debug.Log("Destroying upgrade UI"); + // Destroy(_instance); + // _instance = null; + // } + //} } diff --git a/Assets/Scripts/UnitTree/DeselectedAction.cs b/Assets/Scripts/UnitTree/DeselectedAction.cs index f989891..cb0707c 100644 --- a/Assets/Scripts/UnitTree/DeselectedAction.cs +++ b/Assets/Scripts/UnitTree/DeselectedAction.cs @@ -5,18 +5,15 @@ using UnityEngine.EventSystems; public class DeselectedAction : MonoBehaviour, IDeselectHandler { - public delegate void OnPointerClick(PointerEventData eventData); - private OnPointerClick _onPointerClick; - - public DeselectedAction(OnPointerClick ooga) + private GameObject _allyUpgrade; + public void Init(GameObject allyUpgrade) { - _onPointerClick = ooga; + _allyUpgrade = allyUpgrade; } public void OnDeselect(BaseEventData eventData) { Debug.Log("Called to deselect"); - //_onPointerClick.Invoke((PointerEventData)eventData); - Destroy(gameObject); + Destroy(_allyUpgrade); } } \ No newline at end of file -- 2.34.1 From d14b00fe101e7f32cd41d24074e590dcf5ec0a80 Mon Sep 17 00:00:00 2001 From: Ader Alisma 01 Date: Sun, 1 Jun 2025 18:31:39 -0400 Subject: [PATCH 04/12] Progress observer --- Assets/Scripts/UnitTree/DeselectManager.cs | 26 +++++++++++++++++++ .../Scripts/UnitTree/DeselectManager.cs.meta | 11 ++++++++ Assets/Scripts/UnitTree/DeselectedAction.cs | 9 ++++++- 3 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 Assets/Scripts/UnitTree/DeselectManager.cs create mode 100644 Assets/Scripts/UnitTree/DeselectManager.cs.meta diff --git a/Assets/Scripts/UnitTree/DeselectManager.cs b/Assets/Scripts/UnitTree/DeselectManager.cs new file mode 100644 index 0000000..a3d789e --- /dev/null +++ b/Assets/Scripts/UnitTree/DeselectManager.cs @@ -0,0 +1,26 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class DeselectManager : MonoBehaviour where T : SingletonBehaviour +{ + public static T Instance + { + get; + private set; + } + + protected virtual void Awake() + { + if (!Instance) Instance = this as T; + else Destroy(this); + } + + private void Update() + { + if (Input.GetMouseButton(0)) + { + // Verif liste si click sur un enfant d'AllyUpgrade + } + } +} diff --git a/Assets/Scripts/UnitTree/DeselectManager.cs.meta b/Assets/Scripts/UnitTree/DeselectManager.cs.meta new file mode 100644 index 0000000..ee0d9c4 --- /dev/null +++ b/Assets/Scripts/UnitTree/DeselectManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4c63e60a445cf4549999d898b25ab0ea +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/UnitTree/DeselectedAction.cs b/Assets/Scripts/UnitTree/DeselectedAction.cs index cb0707c..d816ffc 100644 --- a/Assets/Scripts/UnitTree/DeselectedAction.cs +++ b/Assets/Scripts/UnitTree/DeselectedAction.cs @@ -13,7 +13,14 @@ public class DeselectedAction : MonoBehaviour, IDeselectHandler public void OnDeselect(BaseEventData eventData) { + GameObject selectedObject = EventSystem.current.currentSelectedGameObject; + Debug.Log("DeselectedAction called on: " + selectedObject?.name); + if (selectedObject != null && selectedObject.transform.IsChildOf(_allyUpgrade.transform)) + { + //N'interrompt pas l'upgrade + return; + } Debug.Log("Called to deselect"); - Destroy(_allyUpgrade); + //Destroy(_allyUpgrade); } } \ No newline at end of file -- 2.34.1 From 3a4ec88cbcb45e529ac8f72d490e24f7c34e0f15 Mon Sep 17 00:00:00 2001 From: Ader Alisma 01 Date: Mon, 9 Jun 2025 16:29:48 -0400 Subject: [PATCH 05/12] Deselect fonctionne Bug avec tooltip quand clique sur upgrade rouge --- Assets/Scenes/Game.unity | 12 ++++++ Assets/Scripts/Ally/AllyUpgrade.cs | 20 ++------- Assets/Scripts/UnitTree/DeselectManager.cs | 47 +++++++++++++++------ Assets/Scripts/UnitTree/DeselectedAction.cs | 15 +++---- 4 files changed, 57 insertions(+), 37 deletions(-) diff --git a/Assets/Scenes/Game.unity b/Assets/Scenes/Game.unity index bae83e5..99ef001 100644 --- a/Assets/Scenes/Game.unity +++ b/Assets/Scenes/Game.unity @@ -4663,6 +4663,18 @@ MonoBehaviour: m_EditorClassIdentifier: _pauseButton: {fileID: 2019202048} _speedButton: {fileID: 1709530845} +--- !u!114 &1760532844 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 829543639} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4c63e60a445cf4549999d898b25ab0ea, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &1761692192 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Ally/AllyUpgrade.cs b/Assets/Scripts/Ally/AllyUpgrade.cs index 624127e..a0352af 100644 --- a/Assets/Scripts/Ally/AllyUpgrade.cs +++ b/Assets/Scripts/Ally/AllyUpgrade.cs @@ -29,9 +29,7 @@ public class AllyUpgrade : MonoBehaviour, IPointerClickHandler { _instance = Instantiate(_upgradeUI, Camera.main.WorldToScreenPoint(transform.position), Quaternion.identity, canvas.transform); AssignUpgrades(canvas); - //EventSystem.current.SetSelectedGameObject(_instance); - //_instance.GetComponent().Select(); - //_instance.AddComponent(); + DeselectManager.Instance.SetAllyUpgrade(_instance); } } } @@ -45,7 +43,7 @@ public class AllyUpgrade : MonoBehaviour, IPointerClickHandler private void AssignUpgrades(Canvas canvas) { - // Assign upgrade Prefabs + // Assign upgrade Prefabs for (int i = 0; i < _instance.transform.childCount - 1; i++) { if (_upgradeList.Count > i && _upgradeList[i] != null) @@ -54,8 +52,8 @@ public class AllyUpgrade : MonoBehaviour, IPointerClickHandler if (upgradeEnfant.TryGetComponent(out UpgradePlacementButton button)) { button.Initialize(_upgradeList[i], gameObject, canvas); - button.GetComponent().Select(); - button.gameObject.AddComponent().Init(_instance); + //button.GetComponent().Select(); + //button.gameObject.AddComponent().Init(_instance); } } } @@ -70,14 +68,4 @@ public class AllyUpgrade : MonoBehaviour, IPointerClickHandler _instance = null; } } - - //public void OnDeselect(BaseEventData eventData) - //{ - // if (_instance != null) - // { - // Debug.Log("Destroying upgrade UI"); - // Destroy(_instance); - // _instance = null; - // } - //} } diff --git a/Assets/Scripts/UnitTree/DeselectManager.cs b/Assets/Scripts/UnitTree/DeselectManager.cs index a3d789e..496ad5a 100644 --- a/Assets/Scripts/UnitTree/DeselectManager.cs +++ b/Assets/Scripts/UnitTree/DeselectManager.cs @@ -2,25 +2,46 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; -public class DeselectManager : MonoBehaviour where T : SingletonBehaviour +public class DeselectManager : SingletonBehaviour { - public static T Instance - { - get; - private set; - } - - protected virtual void Awake() - { - if (!Instance) Instance = this as T; - else Destroy(this); - } + private GameObject _allyUpgrade; private void Update() { if (Input.GetMouseButton(0)) { - // Verif liste si click sur un enfant d'AllyUpgrade + // Verifie var si click est sur un enfant d'AllyUpgrade + + GameObject selectedObject = UnityEngine.EventSystems.EventSystem.current.currentSelectedGameObject; + if (selectedObject != null && _allyUpgrade != null && selectedObject.transform.IsChildOf(_allyUpgrade.transform)) + { + return; + } + else + { + Debug.Log("Called to deselect from Observer"); + if (_allyUpgrade != null) + { + 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); + } + + } diff --git a/Assets/Scripts/UnitTree/DeselectedAction.cs b/Assets/Scripts/UnitTree/DeselectedAction.cs index d816ffc..404b965 100644 --- a/Assets/Scripts/UnitTree/DeselectedAction.cs +++ b/Assets/Scripts/UnitTree/DeselectedAction.cs @@ -13,14 +13,13 @@ public class DeselectedAction : MonoBehaviour, IDeselectHandler public void OnDeselect(BaseEventData eventData) { - GameObject selectedObject = EventSystem.current.currentSelectedGameObject; - Debug.Log("DeselectedAction called on: " + selectedObject?.name); - if (selectedObject != null && selectedObject.transform.IsChildOf(_allyUpgrade.transform)) - { - //N'interrompt pas l'upgrade - return; - } - Debug.Log("Called to deselect"); + //GameObject selectedObject = EventSystem.current.currentSelectedGameObject; + //Debug.Log("DeselectedAction called on: " + selectedObject?.name); + //if (selectedObject != null && selectedObject.transform.IsChildOf(_allyUpgrade.transform)) + //{ + // return; + //} + //Debug.Log("Called to deselect"); //Destroy(_allyUpgrade); } } \ No newline at end of file -- 2.34.1 From f39f019912c7ea23e5d9790d18a5a7ab2c5fb2cf Mon Sep 17 00:00:00 2001 From: Ader Alisma 01 Date: Mon, 9 Jun 2025 19:19:15 -0400 Subject: [PATCH 06/12] Optimised observer --- Assets/Scripts/UnitTree/DeselectManager.cs | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/Assets/Scripts/UnitTree/DeselectManager.cs b/Assets/Scripts/UnitTree/DeselectManager.cs index 496ad5a..ed780f0 100644 --- a/Assets/Scripts/UnitTree/DeselectManager.cs +++ b/Assets/Scripts/UnitTree/DeselectManager.cs @@ -8,23 +8,20 @@ public class DeselectManager : SingletonBehaviour private void Update() { - if (Input.GetMouseButton(0)) + 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 && _allyUpgrade != null && selectedObject.transform.IsChildOf(_allyUpgrade.transform)) + if (selectedObject != null && selectedObject.transform.IsChildOf(_allyUpgrade.transform)) { return; } else { Debug.Log("Called to deselect from Observer"); - if (_allyUpgrade != null) - { - Destroy(_allyUpgrade); - _allyUpgrade = null; - } + Destroy(_allyUpgrade); + _allyUpgrade = null; } } } -- 2.34.1 From 9e20b0d46307d2bd2753874d76e74e37715c45a2 Mon Sep 17 00:00:00 2001 From: Ader Alisma 01 Date: Sun, 29 Jun 2025 17:40:51 -0400 Subject: [PATCH 07/12] Deselect fonctionnel --- Assets/Scenes/Game.unity | 1 + Assets/Scripts/UnitTree/DeselectManager.cs | 33 +++++++++++++--------- 2 files changed, 20 insertions(+), 14 deletions(-) diff --git a/Assets/Scenes/Game.unity b/Assets/Scenes/Game.unity index 99ef001..76c30e0 100644 --- a/Assets/Scenes/Game.unity +++ b/Assets/Scenes/Game.unity @@ -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 diff --git a/Assets/Scripts/UnitTree/DeselectManager.cs b/Assets/Scripts/UnitTree/DeselectManager.cs index ed780f0..c4a6063 100644 --- a/Assets/Scripts/UnitTree/DeselectManager.cs +++ b/Assets/Scripts/UnitTree/DeselectManager.cs @@ -1,28 +1,35 @@ -using System.Collections; using System.Collections.Generic; using UnityEngine; +using UnityEngine.EventSystems; +using UnityEngine.UI; public class DeselectManager : SingletonBehaviour { 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) { - return; - } - else + position = Input.mousePosition + }; + List results = new List(); + GraphicRaycaster raycaster = _canvas.GetComponent(); + raycaster.Raycast(pointerData, results); + foreach (RaycastResult result in results) { - Debug.Log("Called to deselect from Observer"); - Destroy(_allyUpgrade); - _allyUpgrade = null; + if (result.gameObject.transform.IsChildOf(_allyUpgrade.transform)) + { + return; + } } + Destroy(_allyUpgrade); + _allyUpgrade = null; } } @@ -31,14 +38,12 @@ public class DeselectManager : SingletonBehaviour if (_allyUpgrade == null) { _allyUpgrade = allyUpgradeInstance; + } else if (_allyUpgrade != allyUpgradeInstance) { Destroy(_allyUpgrade); _allyUpgrade = allyUpgradeInstance; } - Debug.Log("AllyUpgrade set: " + _allyUpgrade?.name); } - - } -- 2.34.1 From f571fbf5807ebcaecc741b34a6c933449edc03c9 Mon Sep 17 00:00:00 2001 From: Ader Alisma 01 Date: Sun, 29 Jun 2025 17:44:15 -0400 Subject: [PATCH 08/12] Cleanup --- Assets/Scripts/Ally/AllyUpgrade.cs | 71 ------------------------- Assets/Scripts/Ally/AllyUpgrade.cs.meta | 11 ---- 2 files changed, 82 deletions(-) delete mode 100644 Assets/Scripts/Ally/AllyUpgrade.cs delete mode 100644 Assets/Scripts/Ally/AllyUpgrade.cs.meta diff --git a/Assets/Scripts/Ally/AllyUpgrade.cs b/Assets/Scripts/Ally/AllyUpgrade.cs deleted file mode 100644 index a0352af..0000000 --- a/Assets/Scripts/Ally/AllyUpgrade.cs +++ /dev/null @@ -1,71 +0,0 @@ -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.EventSystems; -using UnityEngine.UI; - -public class AllyUpgrade : MonoBehaviour, IPointerClickHandler -{ - [SerializeField] - private GameObject _upgradeUI; - [SerializeField] - private List _upgradeList = new List(); - private GameObject _instance = null; - - public void OnPointerClick(PointerEventData eventData) - { - if (eventData.button == 0) //Left click - { - if (!_instance) - { - GameObject sceneCanvas = GameObject.Find("Canvas"); - if (sceneCanvas != null) - { - Canvas canvas = sceneCanvas.GetComponent(); - if (canvas == null) - { - Debug.Log("Canvas introuvable..."); - } - else - { - _instance = Instantiate(_upgradeUI, Camera.main.WorldToScreenPoint(transform.position), Quaternion.identity, canvas.transform); - AssignUpgrades(canvas); - DeselectManager.Instance.SetAllyUpgrade(_instance); - } - } - } - else - { - Destroy(_instance); - _instance = null; - } - } - } - - private void AssignUpgrades(Canvas canvas) - { - // Assign upgrade Prefabs - for (int i = 0; i < _instance.transform.childCount - 1; i++) - { - if (_upgradeList.Count > i && _upgradeList[i] != null) - { - GameObject upgradeEnfant = _instance.transform.Find("Upgrade" + (i + 1)).gameObject; - if (upgradeEnfant.TryGetComponent(out UpgradePlacementButton button)) - { - button.Initialize(_upgradeList[i], gameObject, canvas); - //button.GetComponent().Select(); - //button.gameObject.AddComponent().Init(_instance); - } - } - } - } - - private void OnDestroy() - { - if (_instance != null) - { - Debug.Log("Destroying upgrade UI"); - Destroy(_instance); - _instance = null; - } - } -} diff --git a/Assets/Scripts/Ally/AllyUpgrade.cs.meta b/Assets/Scripts/Ally/AllyUpgrade.cs.meta deleted file mode 100644 index 389b93e..0000000 --- a/Assets/Scripts/Ally/AllyUpgrade.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: edcd1782caa73a747b1f060d18ce0f18 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -- 2.34.1 From 73a9231845618b475e333950e3a88c84d4a77b4e Mon Sep 17 00:00:00 2001 From: Ader Alisma 01 Date: Sun, 29 Jun 2025 17:46:55 -0400 Subject: [PATCH 09/12] Revert "Cleanup" This reverts commit f571fbf5807ebcaecc741b34a6c933449edc03c9. Revert "Cleanup" This reverts commit f571fbf5807ebcaecc741b34a6c933449edc03c9. --- Assets/Scripts/Ally/AllyUpgrade.cs | 71 +++++++++++++++++++++++++ Assets/Scripts/Ally/AllyUpgrade.cs.meta | 11 ++++ 2 files changed, 82 insertions(+) create mode 100644 Assets/Scripts/Ally/AllyUpgrade.cs create mode 100644 Assets/Scripts/Ally/AllyUpgrade.cs.meta diff --git a/Assets/Scripts/Ally/AllyUpgrade.cs b/Assets/Scripts/Ally/AllyUpgrade.cs new file mode 100644 index 0000000..a0352af --- /dev/null +++ b/Assets/Scripts/Ally/AllyUpgrade.cs @@ -0,0 +1,71 @@ +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.EventSystems; +using UnityEngine.UI; + +public class AllyUpgrade : MonoBehaviour, IPointerClickHandler +{ + [SerializeField] + private GameObject _upgradeUI; + [SerializeField] + private List _upgradeList = new List(); + private GameObject _instance = null; + + public void OnPointerClick(PointerEventData eventData) + { + if (eventData.button == 0) //Left click + { + if (!_instance) + { + GameObject sceneCanvas = GameObject.Find("Canvas"); + if (sceneCanvas != null) + { + Canvas canvas = sceneCanvas.GetComponent(); + if (canvas == null) + { + Debug.Log("Canvas introuvable..."); + } + else + { + _instance = Instantiate(_upgradeUI, Camera.main.WorldToScreenPoint(transform.position), Quaternion.identity, canvas.transform); + AssignUpgrades(canvas); + DeselectManager.Instance.SetAllyUpgrade(_instance); + } + } + } + else + { + Destroy(_instance); + _instance = null; + } + } + } + + private void AssignUpgrades(Canvas canvas) + { + // Assign upgrade Prefabs + for (int i = 0; i < _instance.transform.childCount - 1; i++) + { + if (_upgradeList.Count > i && _upgradeList[i] != null) + { + GameObject upgradeEnfant = _instance.transform.Find("Upgrade" + (i + 1)).gameObject; + if (upgradeEnfant.TryGetComponent(out UpgradePlacementButton button)) + { + button.Initialize(_upgradeList[i], gameObject, canvas); + //button.GetComponent().Select(); + //button.gameObject.AddComponent().Init(_instance); + } + } + } + } + + private void OnDestroy() + { + if (_instance != null) + { + Debug.Log("Destroying upgrade UI"); + Destroy(_instance); + _instance = null; + } + } +} diff --git a/Assets/Scripts/Ally/AllyUpgrade.cs.meta b/Assets/Scripts/Ally/AllyUpgrade.cs.meta new file mode 100644 index 0000000..389b93e --- /dev/null +++ b/Assets/Scripts/Ally/AllyUpgrade.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: edcd1782caa73a747b1f060d18ce0f18 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: -- 2.34.1 From d74647054a2cb6629acda0a31330be307ac1dd98 Mon Sep 17 00:00:00 2001 From: Ader Alisma 01 Date: Sun, 29 Jun 2025 17:48:43 -0400 Subject: [PATCH 10/12] Actual cleanup --- Assets/Scripts/UnitTree/DeselectedAction.cs | 25 ------------------- .../Scripts/UnitTree/DeselectedAction.cs.meta | 11 -------- 2 files changed, 36 deletions(-) delete mode 100644 Assets/Scripts/UnitTree/DeselectedAction.cs delete mode 100644 Assets/Scripts/UnitTree/DeselectedAction.cs.meta diff --git a/Assets/Scripts/UnitTree/DeselectedAction.cs b/Assets/Scripts/UnitTree/DeselectedAction.cs deleted file mode 100644 index 404b965..0000000 --- a/Assets/Scripts/UnitTree/DeselectedAction.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.EventSystems; - -public class DeselectedAction : MonoBehaviour, IDeselectHandler -{ - private GameObject _allyUpgrade; - public void Init(GameObject allyUpgrade) - { - _allyUpgrade = allyUpgrade; - } - - public void OnDeselect(BaseEventData eventData) - { - //GameObject selectedObject = EventSystem.current.currentSelectedGameObject; - //Debug.Log("DeselectedAction called on: " + selectedObject?.name); - //if (selectedObject != null && selectedObject.transform.IsChildOf(_allyUpgrade.transform)) - //{ - // return; - //} - //Debug.Log("Called to deselect"); - //Destroy(_allyUpgrade); - } -} \ No newline at end of file diff --git a/Assets/Scripts/UnitTree/DeselectedAction.cs.meta b/Assets/Scripts/UnitTree/DeselectedAction.cs.meta deleted file mode 100644 index ef2117d..0000000 --- a/Assets/Scripts/UnitTree/DeselectedAction.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: d1349fced40ce3242ab17aa6328d25b8 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -- 2.34.1 From abcc1de8c70de02c84d3518e5e25b830130f3587 Mon Sep 17 00:00:00 2001 From: Ader Alisma 01 Date: Sun, 29 Jun 2025 17:52:29 -0400 Subject: [PATCH 11/12] Optimisation + cleanup comments --- Assets/Scripts/Ally/AllyUpgrade.cs | 2 -- Assets/Scripts/UnitTree/DeselectManager.cs | 3 +-- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/Assets/Scripts/Ally/AllyUpgrade.cs b/Assets/Scripts/Ally/AllyUpgrade.cs index a0352af..1b7bdc1 100644 --- a/Assets/Scripts/Ally/AllyUpgrade.cs +++ b/Assets/Scripts/Ally/AllyUpgrade.cs @@ -52,8 +52,6 @@ public class AllyUpgrade : MonoBehaviour, IPointerClickHandler if (upgradeEnfant.TryGetComponent(out UpgradePlacementButton button)) { button.Initialize(_upgradeList[i], gameObject, canvas); - //button.GetComponent().Select(); - //button.gameObject.AddComponent().Init(_instance); } } } diff --git a/Assets/Scripts/UnitTree/DeselectManager.cs b/Assets/Scripts/UnitTree/DeselectManager.cs index c4a6063..6566685 100644 --- a/Assets/Scripts/UnitTree/DeselectManager.cs +++ b/Assets/Scripts/UnitTree/DeselectManager.cs @@ -28,8 +28,7 @@ public class DeselectManager : SingletonBehaviour return; } } - Destroy(_allyUpgrade); - _allyUpgrade = null; + SetAllyUpgrade(null); } } -- 2.34.1 From b18290dc76c6c9764f2117624ac4300068a718f6 Mon Sep 17 00:00:00 2001 From: Ader Alisma 01 Date: Sun, 29 Jun 2025 17:53:20 -0400 Subject: [PATCH 12/12] Comment cleanup --- Assets/Scripts/Ally/AllyUpgrade.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/Assets/Scripts/Ally/AllyUpgrade.cs b/Assets/Scripts/Ally/AllyUpgrade.cs index 1b7bdc1..e618912 100644 --- a/Assets/Scripts/Ally/AllyUpgrade.cs +++ b/Assets/Scripts/Ally/AllyUpgrade.cs @@ -61,7 +61,6 @@ public class AllyUpgrade : MonoBehaviour, IPointerClickHandler { if (_instance != null) { - Debug.Log("Destroying upgrade UI"); Destroy(_instance); _instance = null; } -- 2.34.1