bugfix/HideUpgradesOnDeselect (#9)
Retire le UI du UnitTree quand on clique sur n'importe quoi d'autre Co-authored-by: Ader Alisma 01 <adeder22@hotmail.com> Reviewed-on: #9 Reviewed-by: EliaGingras1 <william-gin1@hotmail.com>
This commit is contained in:
parent
b05a3245c0
commit
a15a75a603
@ -30,6 +30,7 @@ RectTransform:
|
|||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
|
- {fileID: 3501783116545349986}
|
||||||
- {fileID: 6716417799655040460}
|
- {fileID: 6716417799655040460}
|
||||||
- {fileID: 7628964284593499177}
|
- {fileID: 7628964284593499177}
|
||||||
- {fileID: 1691244495608687713}
|
- {fileID: 1691244495608687713}
|
||||||
@ -94,7 +95,7 @@ RectTransform:
|
|||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 4817988606444742094}
|
m_Father: {fileID: 4817988606444742094}
|
||||||
m_RootOrder: 3
|
m_RootOrder: 4
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
@ -127,6 +128,82 @@ MonoBehaviour:
|
|||||||
m_ChildScaleWidth: 0
|
m_ChildScaleWidth: 0
|
||||||
m_ChildScaleHeight: 0
|
m_ChildScaleHeight: 0
|
||||||
m_ReverseArrangement: 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}
|
||||||
|
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!1001 &2008641878076503636
|
--- !u!1001 &2008641878076503636
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -156,7 +233,7 @@ PrefabInstance:
|
|||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 907652127959947829, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3}
|
- target: {fileID: 907652127959947829, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3}
|
||||||
propertyPath: m_RootOrder
|
propertyPath: m_RootOrder
|
||||||
value: 2
|
value: 3
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 907652127959947829, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3}
|
- target: {fileID: 907652127959947829, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3}
|
||||||
propertyPath: m_AnchorMax.x
|
propertyPath: m_AnchorMax.x
|
||||||
@ -330,7 +407,7 @@ PrefabInstance:
|
|||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 907652127959947829, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3}
|
- target: {fileID: 907652127959947829, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3}
|
||||||
propertyPath: m_RootOrder
|
propertyPath: m_RootOrder
|
||||||
value: 0
|
value: 1
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 907652127959947829, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3}
|
- target: {fileID: 907652127959947829, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3}
|
||||||
propertyPath: m_AnchorMax.x
|
propertyPath: m_AnchorMax.x
|
||||||
@ -500,7 +577,7 @@ PrefabInstance:
|
|||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 907652127959947829, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3}
|
- target: {fileID: 907652127959947829, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3}
|
||||||
propertyPath: m_RootOrder
|
propertyPath: m_RootOrder
|
||||||
value: 1
|
value: 2
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 907652127959947829, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3}
|
- target: {fileID: 907652127959947829, guid: 7a4156822defb3f4bb8a2ed6de7cacdb, type: 3}
|
||||||
propertyPath: m_AnchorMax.x
|
propertyPath: m_AnchorMax.x
|
||||||
|
|||||||
@ -4711,6 +4711,19 @@ MonoBehaviour:
|
|||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
_pauseButton: {fileID: 2019202048}
|
_pauseButton: {fileID: 2019202048}
|
||||||
_speedButton: {fileID: 1709530845}
|
_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:
|
||||||
|
_canvas: {fileID: 1092900231}
|
||||||
--- !u!1 &1761692192
|
--- !u!1 &1761692192
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.EventSystems;
|
using UnityEngine.EventSystems;
|
||||||
|
using UnityEngine.UI;
|
||||||
|
|
||||||
public class AllyUpgrade : MonoBehaviour, IPointerClickHandler
|
public class AllyUpgrade : MonoBehaviour, IPointerClickHandler
|
||||||
{
|
{
|
||||||
@ -28,27 +29,30 @@ public class AllyUpgrade : MonoBehaviour, IPointerClickHandler
|
|||||||
{
|
{
|
||||||
_instance = Instantiate(_upgradeUI, Camera.main.WorldToScreenPoint(transform.position), Quaternion.identity, canvas.transform);
|
_instance = Instantiate(_upgradeUI, Camera.main.WorldToScreenPoint(transform.position), Quaternion.identity, canvas.transform);
|
||||||
AssignUpgrades(canvas);
|
AssignUpgrades(canvas);
|
||||||
|
DeselectManager.Instance.SetAllyUpgrade(_instance);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Destroy(_instance);
|
Destroy(_instance);
|
||||||
|
_instance = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void AssignUpgrades(Canvas canvas)
|
private void AssignUpgrades(Canvas canvas)
|
||||||
{
|
{
|
||||||
// Assign upgrade Prefabs
|
// Assign upgrade Prefabs
|
||||||
for (int i = 0; i < _instance.transform.childCount - 1; i++)
|
for (int i = 0; i < _instance.transform.childCount - 1; i++)
|
||||||
{
|
{
|
||||||
if (_upgradeList.Count > i && _upgradeList[i] != null)
|
if (_upgradeList.Count > i && _upgradeList[i] != null)
|
||||||
{
|
{
|
||||||
GameObject upgradeEnfant = _instance.transform.GetChild(i).gameObject;
|
GameObject upgradeEnfant = _instance.transform.Find("Upgrade" + (i + 1)).gameObject;
|
||||||
UpgradePlacementButton button = upgradeEnfant.GetComponent<UpgradePlacementButton>();
|
if (upgradeEnfant.TryGetComponent<UpgradePlacementButton>(out UpgradePlacementButton button))
|
||||||
button.Initialize(_upgradeList[i], gameObject, canvas);
|
{
|
||||||
|
button.Initialize(_upgradeList[i], gameObject, canvas);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -58,6 +62,7 @@ public class AllyUpgrade : MonoBehaviour, IPointerClickHandler
|
|||||||
if (_instance != null)
|
if (_instance != null)
|
||||||
{
|
{
|
||||||
Destroy(_instance);
|
Destroy(_instance);
|
||||||
|
_instance = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
48
Assets/Scripts/UnitTree/DeselectManager.cs
Normal file
48
Assets/Scripts/UnitTree/DeselectManager.cs
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
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)
|
||||||
|
{
|
||||||
|
// 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
SetAllyUpgrade(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetAllyUpgrade(GameObject allyUpgradeInstance)
|
||||||
|
{
|
||||||
|
if (_allyUpgrade == null)
|
||||||
|
{
|
||||||
|
_allyUpgrade = allyUpgradeInstance;
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (_allyUpgrade != allyUpgradeInstance)
|
||||||
|
{
|
||||||
|
Destroy(_allyUpgrade);
|
||||||
|
_allyUpgrade = allyUpgradeInstance;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
11
Assets/Scripts/UnitTree/DeselectManager.cs.meta
Normal file
11
Assets/Scripts/UnitTree/DeselectManager.cs.meta
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 4c63e60a445cf4549999d898b25ab0ea
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Loading…
x
Reference in New Issue
Block a user