From d7424ed9725d1d41696ab1e25b0c61abb9752b41 Mon Sep 17 00:00:00 2001 From: dddushesss <37773701+dddushesss@users.noreply.github.com> Date: Tue, 11 Jan 2022 06:36:00 +0300 Subject: [PATCH] refactored items --- Assets/Resources/Data/ItemData.asset | 36 +++++++---------- Assets/Resources/Data/Items.meta | 8 ++++ Assets/Resources/Data/Items/AttackBonus.asset | 20 ++++++++++ .../Data/Items/AttackBonus.asset.meta | 8 ++++ .../Resources/Data/Items/DefenceBonus.asset | 20 ++++++++++ .../Data/Items/DefenceBonus.asset.meta | 8 ++++ Assets/Resources/Data/Items/Tower.asset | 19 +++++++++ Assets/Resources/Data/Items/Tower.asset.meta | 8 ++++ Assets/Scripts/Controller/GameInit.cs | 4 +- Assets/Scripts/Data/ItemsData.cs | 31 ++++++--------- Assets/Scripts/GameUI/PlayerInventoryView.cs | 31 ++++++++------- Assets/Scripts/Items/AttackBonus.cs | 29 -------------- Assets/Scripts/Items/Bonus.cs | 28 +++++++++++++ .../{AttackBonus.cs.meta => Bonus.cs.meta} | 0 Assets/Scripts/Items/Building.cs | 23 +++++------ Assets/Scripts/Items/DefenceBonus.cs | 29 -------------- Assets/Scripts/Items/DefenceBonus.cs.meta | 3 -- Assets/Scripts/Items/Item.cs | 37 +++++++----------- Assets/Scripts/Items/ItemFabric.cs | 39 +++++++++---------- Assets/Scripts/SpawnHelper.cs | 12 ++++++ Assets/Scripts/SpawnHelper.cs.meta | 3 ++ Assets/Scripts/Units/PlayerControl.cs | 6 +-- Assets/Scripts/Units/Unit.cs | 20 +++++++++- 23 files changed, 240 insertions(+), 182 deletions(-) create mode 100644 Assets/Resources/Data/Items.meta create mode 100644 Assets/Resources/Data/Items/AttackBonus.asset create mode 100644 Assets/Resources/Data/Items/AttackBonus.asset.meta create mode 100644 Assets/Resources/Data/Items/DefenceBonus.asset create mode 100644 Assets/Resources/Data/Items/DefenceBonus.asset.meta create mode 100644 Assets/Resources/Data/Items/Tower.asset create mode 100644 Assets/Resources/Data/Items/Tower.asset.meta delete mode 100644 Assets/Scripts/Items/AttackBonus.cs create mode 100644 Assets/Scripts/Items/Bonus.cs rename Assets/Scripts/Items/{AttackBonus.cs.meta => Bonus.cs.meta} (100%) delete mode 100644 Assets/Scripts/Items/DefenceBonus.cs delete mode 100644 Assets/Scripts/Items/DefenceBonus.cs.meta create mode 100644 Assets/Scripts/SpawnHelper.cs create mode 100644 Assets/Scripts/SpawnHelper.cs.meta diff --git a/Assets/Resources/Data/ItemData.asset b/Assets/Resources/Data/ItemData.asset index aa7a281f..e3731aeb 100644 --- a/Assets/Resources/Data/ItemData.asset +++ b/Assets/Resources/Data/ItemData.asset @@ -12,31 +12,21 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: effbc11b6ae8444c8d20e929ce28183e, type: 3} m_Name: ItemData m_EditorClassIdentifier: - itemInfos: - - prefab: {fileID: 3197816592181874056, guid: f0b68f1afd77d7741a0fe8ff5ba25a77, + items: + - item: {fileID: 11400000, guid: e7adbedb55c5db341a823370b696f709, type: 2} + iconPrefab: {fileID: 3197816592181874056, guid: 2704c4f795b0d7748a3e3fa53be4d893, type: 3} - isInstantUse: 0 - type: Tower - icon: {fileID: 21300000, guid: 543c4732bd2d47a41bdbbf2156eb358c, type: 3} - spawnablePrefab: {fileID: 3496656575117217171, guid: 38edd53c7f09f41409153241c78268f9, - type: 3} - values: - spawnChance: 1 - - prefab: {fileID: 3197816592181874056, guid: 2704c4f795b0d7748a3e3fa53be4d893, - type: 3} - isInstantUse: 1 - type: AttackBonus icon: {fileID: 21300000, guid: caf8bc0311dd2fc4ca1528a82a063754, type: 3} - spawnablePrefab: {fileID: 0} - values: 0300000064000000 - spawnChance: 0 - - prefab: {fileID: 8639522512577941448, guid: 7b6a7f64e52da514d88aa97ad8f863df, + _spawnChance: 0.581 + - item: {fileID: 11400000, guid: 62849ddbcd32e834887aac5eb3d98db0, type: 2} + iconPrefab: {fileID: 8639522512577941448, guid: 7b6a7f64e52da514d88aa97ad8f863df, type: 3} - isInstantUse: 1 - type: DefenceBonus icon: {fileID: 21300000, guid: 35be128594dcdce48b5d8e5317b38ed9, type: 3} - spawnablePrefab: {fileID: 0} - values: 0a0000001e000000 - spawnChance: 0 - fromTimeSpawn: 3 + _spawnChance: 0.67 + - item: {fileID: 11400000, guid: ef628c3158b0ea34bb919ca105507009, type: 2} + iconPrefab: {fileID: 3197816592181874056, guid: f0b68f1afd77d7741a0fe8ff5ba25a77, + type: 3} + icon: {fileID: 21300000, guid: b7771b47a72ca7947bf18f664e53a983, type: 3} + _spawnChance: 0.921 + fromTimeSpawn: 2.93 toTimeSpawn: 10 diff --git a/Assets/Resources/Data/Items.meta b/Assets/Resources/Data/Items.meta new file mode 100644 index 00000000..210e6a7b --- /dev/null +++ b/Assets/Resources/Data/Items.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c6b240b41035a1a49a6eb7919af5882e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Data/Items/AttackBonus.asset b/Assets/Resources/Data/Items/AttackBonus.asset new file mode 100644 index 00000000..d5716807 --- /dev/null +++ b/Assets/Resources/Data/Items/AttackBonus.asset @@ -0,0 +1,20 @@ +%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: 2b016eba27de41629261b965b3e2be0c, type: 3} + m_Name: AttackBonus + m_EditorClassIdentifier: + iconPrefab: {fileID: 3197816592181874056, guid: 2704c4f795b0d7748a3e3fa53be4d893, + type: 3} + icon: {fileID: 21300000, guid: caf8bc0311dd2fc4ca1528a82a063754, type: 3} + duration: 3 + value: 100 + type: 0 diff --git a/Assets/Resources/Data/Items/AttackBonus.asset.meta b/Assets/Resources/Data/Items/AttackBonus.asset.meta new file mode 100644 index 00000000..485c6556 --- /dev/null +++ b/Assets/Resources/Data/Items/AttackBonus.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e7adbedb55c5db341a823370b696f709 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Data/Items/DefenceBonus.asset b/Assets/Resources/Data/Items/DefenceBonus.asset new file mode 100644 index 00000000..e0d79859 --- /dev/null +++ b/Assets/Resources/Data/Items/DefenceBonus.asset @@ -0,0 +1,20 @@ +%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: 2b016eba27de41629261b965b3e2be0c, type: 3} + m_Name: DefenceBonus + m_EditorClassIdentifier: + iconPrefab: {fileID: 8639522512577941448, guid: 7b6a7f64e52da514d88aa97ad8f863df, + type: 3} + icon: {fileID: 21300000, guid: 35be128594dcdce48b5d8e5317b38ed9, type: 3} + duration: 15 + value: 50 + type: 1 diff --git a/Assets/Resources/Data/Items/DefenceBonus.asset.meta b/Assets/Resources/Data/Items/DefenceBonus.asset.meta new file mode 100644 index 00000000..e82f08ae --- /dev/null +++ b/Assets/Resources/Data/Items/DefenceBonus.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 62849ddbcd32e834887aac5eb3d98db0 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Data/Items/Tower.asset b/Assets/Resources/Data/Items/Tower.asset new file mode 100644 index 00000000..21ed9dfb --- /dev/null +++ b/Assets/Resources/Data/Items/Tower.asset @@ -0,0 +1,19 @@ +%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: f23a091c5733400f8f0092a4c0f33c6e, type: 3} + m_Name: Tower + m_EditorClassIdentifier: + iconPrefab: {fileID: 3197816592181874056, guid: f0b68f1afd77d7741a0fe8ff5ba25a77, + type: 3} + icon: {fileID: 21300000, guid: b7771b47a72ca7947bf18f664e53a983, type: 3} + buildingPrefab: {fileID: 3496656575117217171, guid: 38edd53c7f09f41409153241c78268f9, + type: 3} diff --git a/Assets/Resources/Data/Items/Tower.asset.meta b/Assets/Resources/Data/Items/Tower.asset.meta new file mode 100644 index 00000000..81405661 --- /dev/null +++ b/Assets/Resources/Data/Items/Tower.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ef628c3158b0ea34bb919ca105507009 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Controller/GameInit.cs b/Assets/Scripts/Controller/GameInit.cs index e2d7712a..09d5df56 100644 --- a/Assets/Scripts/Controller/GameInit.cs +++ b/Assets/Scripts/Controller/GameInit.cs @@ -33,7 +33,7 @@ namespace Controller data.WeaponsData.WeaponsList.ForEach(x => x.SetModifiedDamage(0)); - ItemFabric itemFabric = new ItemFabric(data.ItemsData, SetUpItems()); + ItemFabric itemFabric = new ItemFabric(data.ItemsData); controllers.Add(itemFabric); UIController uiController = new UIController(data.UIData); @@ -86,7 +86,7 @@ namespace Controller private List SetUpItems() { - return new List() { typeof(Building), typeof(AttackBonus), typeof(DefenceBonus) }; + return new List() { typeof(Building), typeof(Bonus)}; } } } \ No newline at end of file diff --git a/Assets/Scripts/Data/ItemsData.cs b/Assets/Scripts/Data/ItemsData.cs index a03a2374..c9ce31be 100644 --- a/Assets/Scripts/Data/ItemsData.cs +++ b/Assets/Scripts/Data/ItemsData.cs @@ -10,34 +10,27 @@ namespace Data public class ItemsData : ScriptableObject { [SerializeField] - private List itemInfos; + private List items; [SerializeField] private float fromTimeSpawn; [SerializeField] private float toTimeSpawn; - public List ItemInfos => itemInfos; + public List ItemInfos => items; public (float from, float to) SpawnTime => (fromTimeSpawn, toTimeSpawn); } [Serializable] - public struct ItemInfo + public struct ItemInfos { - [SerializeField] private GameObject prefab; - [SerializeField] private bool isInstantUse; - [SerializeField] private string type; - [SerializeField] private Sprite icon; - [SerializeField] private GameObject spawnablePrefab; - [SerializeField] private int[] values; - [SerializeField][Range(0,1)] private float spawnChance; - public GameObject Prefab => prefab; - public string Type => type; + [SerializeField] private Item item; + + + [SerializeField][Range(0,1)] private float _spawnChance; - public Sprite Icon => icon; - - public GameObject SpawnablePrefab => spawnablePrefab; - - public bool IsInstanceUse => isInstantUse; - public int[] Values => values; - public float SpawnChance => spawnChance; + public Item Item => item; + + + public float SpawnChance => _spawnChance; } + } \ No newline at end of file diff --git a/Assets/Scripts/GameUI/PlayerInventoryView.cs b/Assets/Scripts/GameUI/PlayerInventoryView.cs index 72b3e897..4650cf5e 100644 --- a/Assets/Scripts/GameUI/PlayerInventoryView.cs +++ b/Assets/Scripts/GameUI/PlayerInventoryView.cs @@ -11,7 +11,7 @@ namespace GameUI [SerializeField] private GameObject item; [SerializeField] private GameObject grid; - public Action OnItemInvoked; + public Action OnBuildingInvoked; private List