From 308da140cf8debe78c389551f2398d576f4bfe9b Mon Sep 17 00:00:00 2001 From: Ader Alisma 01 Date: Sat, 28 Sep 2024 18:44:46 -0400 Subject: [PATCH] Ajout ScriptableObject pour UnitUpgrades --- Assets/Design/UnitUpgrades.meta | 8 ++++++++ Assets/Design/UnitUpgrades/Upgrade1.asset | 17 +++++++++++++++++ Assets/Design/UnitUpgrades/Upgrade1.asset.meta | 8 ++++++++ Assets/Design/UnitUpgrades/Upgrade2.asset | 17 +++++++++++++++++ Assets/Design/UnitUpgrades/Upgrade2.asset.meta | 8 ++++++++ Assets/Prefabs/Sticks/farmersAssociation.prefab | 8 ++++++++ Assets/Scripts/Ally/AllyUpgrade.cs | 9 ++++----- Assets/Scripts/Drag&Drop/UnitUpgrade.cs | 16 ++++++++++++++++ Assets/Scripts/Drag&Drop/UnitUpgrade.cs.meta | 11 +++++++++++ .../Scripts/UnitTree/UpgradePlacementButton.cs | 13 +++++++------ 10 files changed, 104 insertions(+), 11 deletions(-) create mode 100644 Assets/Design/UnitUpgrades.meta create mode 100644 Assets/Design/UnitUpgrades/Upgrade1.asset create mode 100644 Assets/Design/UnitUpgrades/Upgrade1.asset.meta create mode 100644 Assets/Design/UnitUpgrades/Upgrade2.asset create mode 100644 Assets/Design/UnitUpgrades/Upgrade2.asset.meta create mode 100644 Assets/Scripts/Drag&Drop/UnitUpgrade.cs create mode 100644 Assets/Scripts/Drag&Drop/UnitUpgrade.cs.meta diff --git a/Assets/Design/UnitUpgrades.meta b/Assets/Design/UnitUpgrades.meta new file mode 100644 index 0000000..21567fc --- /dev/null +++ b/Assets/Design/UnitUpgrades.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: befdb05cb99add747b22bd3872618b81 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Design/UnitUpgrades/Upgrade1.asset b/Assets/Design/UnitUpgrades/Upgrade1.asset new file mode 100644 index 0000000..c7f9adf --- /dev/null +++ b/Assets/Design/UnitUpgrades/Upgrade1.asset @@ -0,0 +1,17 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d1391306ffe53984bb2bc314f1d2919f, type: 3} + m_Name: Upgrade1 + m_EditorClassIdentifier: + _upgradeUnitCard: {fileID: 11400000, guid: 9ff4b606166b07d4bb3afb15e5a23f41, type: 2} + _upgradePrefab: {fileID: 5531237550998824024, guid: 6cd87b398e7a0e94580f4fcbe2fd310a, type: 3} + _upgradeCardArt: {fileID: 21300000, guid: aa033001c3067ea41a2fc684a6320489, type: 3} diff --git a/Assets/Design/UnitUpgrades/Upgrade1.asset.meta b/Assets/Design/UnitUpgrades/Upgrade1.asset.meta new file mode 100644 index 0000000..01a81fb --- /dev/null +++ b/Assets/Design/UnitUpgrades/Upgrade1.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0c3268393deaed84d87f041b2a4f970c +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Design/UnitUpgrades/Upgrade2.asset b/Assets/Design/UnitUpgrades/Upgrade2.asset new file mode 100644 index 0000000..4b60c30 --- /dev/null +++ b/Assets/Design/UnitUpgrades/Upgrade2.asset @@ -0,0 +1,17 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d1391306ffe53984bb2bc314f1d2919f, type: 3} + m_Name: Upgrade2 + m_EditorClassIdentifier: + _upgradeUnitCard: {fileID: 11400000, guid: 0334115ab72f6d5449497db1bb50377e, type: 2} + _upgradePrefab: {fileID: 2230360378425099702, guid: ece16a59d4dca2246817fbb1b23f17ba, type: 3} + _upgradeCardArt: {fileID: 21300000, guid: b98e80d2b7d70264b800b1e6aa98a092, type: 3} diff --git a/Assets/Design/UnitUpgrades/Upgrade2.asset.meta b/Assets/Design/UnitUpgrades/Upgrade2.asset.meta new file mode 100644 index 0000000..a77a4a5 --- /dev/null +++ b/Assets/Design/UnitUpgrades/Upgrade2.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1639cd6a5b9ac1f4c96319ebfcac741a +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Sticks/farmersAssociation.prefab b/Assets/Prefabs/Sticks/farmersAssociation.prefab index d8bfae3..880e83e 100644 --- a/Assets/Prefabs/Sticks/farmersAssociation.prefab +++ b/Assets/Prefabs/Sticks/farmersAssociation.prefab @@ -1114,6 +1114,14 @@ MonoBehaviour: - {fileID: 5531237550998824024, guid: 6cd87b398e7a0e94580f4fcbe2fd310a, type: 3} - {fileID: 5157279992115123224, guid: 85534a2d6c2add54d864073914646192, type: 3} - {fileID: 2230360378425099702, guid: ece16a59d4dca2246817fbb1b23f17ba, type: 3} + _upgradeImages: + - {fileID: 21300000, guid: aa033001c3067ea41a2fc684a6320489, type: 3} + - {fileID: 21300000, guid: cc83829c8925f1649879f8fbb02b1d8b, type: 3} + - {fileID: 21300000, guid: b98e80d2b7d70264b800b1e6aa98a092, type: 3} + _upgradeList: + - {fileID: 11400000, guid: 0c3268393deaed84d87f041b2a4f970c, type: 2} + - {fileID: 11400000, guid: 1639cd6a5b9ac1f4c96319ebfcac741a, type: 2} + - {fileID: 11400000, guid: 0c3268393deaed84d87f041b2a4f970c, type: 2} --- !u!114 &8585520847943034727 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Ally/AllyUpgrade.cs b/Assets/Scripts/Ally/AllyUpgrade.cs index 2fdd0df..3f48ed8 100644 --- a/Assets/Scripts/Ally/AllyUpgrade.cs +++ b/Assets/Scripts/Ally/AllyUpgrade.cs @@ -8,9 +8,7 @@ public class AllyUpgrade : MonoBehaviour, IPointerClickHandler [SerializeField] private GameObject _upgradeUI; [SerializeField] - private List _upgradeUnitCardList = new List(); - [SerializeField] - private List _upgradePrefabList = new List(); + private List _upgradeList = new List(); private GameObject _instance = null; public void OnPointerClick(PointerEventData eventData) @@ -51,10 +49,11 @@ public class AllyUpgrade : MonoBehaviour, IPointerClickHandler { Debug.Log("Upgrade count: " + _instance.transform.childCount); // Assign upgrade Prefabs - for (int i = 0; i < _instance.transform.childCount; i++) + for (int i = 0; i < _instance.transform.childCount - 1; i++) { + Debug.Log(i); GameObject upgradeEnfant = _instance.transform.GetChild(i).gameObject; UpgradePlacementButton button = upgradeEnfant.GetComponent(); - button.Initialize(_upgradeUnitCardList[i], _upgradePrefabList[i], gameObject, canvas); + button.Initialize(_upgradeList[i], gameObject, canvas); } }} diff --git a/Assets/Scripts/Drag&Drop/UnitUpgrade.cs b/Assets/Scripts/Drag&Drop/UnitUpgrade.cs new file mode 100644 index 0000000..304b53c --- /dev/null +++ b/Assets/Scripts/Drag&Drop/UnitUpgrade.cs @@ -0,0 +1,16 @@ +using UnityEngine; + +[CreateAssetMenu(menuName = "Gather And Defend/Upgradable Unit")] +public class UnitUpgrade : ScriptableObject +{ + [SerializeField] + protected UnitCard _upgradeUnitCard; + [SerializeField] + protected GameObject _upgradePrefab; + [SerializeField] + protected Sprite _upgradeCardArt; + + public UnitCard UpgradeUnitCard => _upgradeUnitCard; + public GameObject UpgradePrefab => _upgradePrefab; + public Sprite UpgradeCardArt => _upgradeCardArt; +} \ No newline at end of file diff --git a/Assets/Scripts/Drag&Drop/UnitUpgrade.cs.meta b/Assets/Scripts/Drag&Drop/UnitUpgrade.cs.meta new file mode 100644 index 0000000..15d0697 --- /dev/null +++ b/Assets/Scripts/Drag&Drop/UnitUpgrade.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d1391306ffe53984bb2bc314f1d2919f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/UnitTree/UpgradePlacementButton.cs b/Assets/Scripts/UnitTree/UpgradePlacementButton.cs index ef360fd..8bd3eed 100644 --- a/Assets/Scripts/UnitTree/UpgradePlacementButton.cs +++ b/Assets/Scripts/UnitTree/UpgradePlacementButton.cs @@ -83,15 +83,16 @@ public class UpgradePlacementButton : MonoBehaviour, IPointerClickHandler } - public void Initialize(UnitCard card, GameObject prefabGameObject, GameObject parentGameObject, Canvas canvas) + public void Initialize(UnitUpgrade unitUpgrade, GameObject parentGameObject, Canvas canvas) { Debug.Log("Upgrade initialized..."); - SetTextFor(_foodLabel, card.Food); - SetTextFor(_woodLabel, card.Wood); - SetTextFor(_rockLabel, card.Rock); - _unitCardInformation = card; - _prefab = prefabGameObject; + SetTextFor(_foodLabel, unitUpgrade.UpgradeUnitCard.Food); + SetTextFor(_woodLabel, unitUpgrade.UpgradeUnitCard.Wood); + SetTextFor(_rockLabel, unitUpgrade.UpgradeUnitCard.Rock); + _unitCardInformation = unitUpgrade.UpgradeUnitCard; + _prefab = unitUpgrade.UpgradePrefab; _unitGameObject = parentGameObject; _canvas = canvas; + _unitArt.sprite = unitUpgrade.UpgradeCardArt; } } \ No newline at end of file