From eb2ed8a0193433349eb9c555ebc5075311fead57 Mon Sep 17 00:00:00 2001 From: Dabble Date: Wed, 17 Nov 2021 16:24:03 +0100 Subject: [PATCH] Extracted projectile logic from TowerLogic ...to the separate script, `ProjectileTowerLogic`. --- .../Prefabs/Towers/AxeTurret/AxeTurret.prefab | 4 ---- .../LightningTurret/LightningTurret.prefab | 4 ---- .../Towers/WheelTurret/WheelTurret.prefab | 17 ++++++++++++++-- Assets/Prefabs/Towers/tower_pendulum.prefab | 17 ++++++++++++++-- Assets/Scripts/Towers/ProjectileTowerLogic.cs | 20 +++++++++++++++++++ .../Towers/ProjectileTowerLogic.cs.meta | 11 ++++++++++ Assets/Scripts/Towers/TowerLogic.cs | 14 ------------- 7 files changed, 61 insertions(+), 26 deletions(-) create mode 100644 Assets/Scripts/Towers/ProjectileTowerLogic.cs create mode 100644 Assets/Scripts/Towers/ProjectileTowerLogic.cs.meta diff --git a/Assets/Prefabs/Towers/AxeTurret/AxeTurret.prefab b/Assets/Prefabs/Towers/AxeTurret/AxeTurret.prefab index 66b24cd0..729bd099 100644 --- a/Assets/Prefabs/Towers/AxeTurret/AxeTurret.prefab +++ b/Assets/Prefabs/Towers/AxeTurret/AxeTurret.prefab @@ -772,10 +772,6 @@ MonoBehaviour: m_EditorClassIdentifier: canInteract: 1 input: {fileID: 0} - bullet: {fileID: 0} - bulletSpawnPoint: {fileID: 0} - bulletSpeed: 0 - bulletDamage: 0 rotAxis: {fileID: 929849385462332844} arrowPointer: {fileID: 0} --- !u!114 &8637078598552028505 diff --git a/Assets/Prefabs/Towers/LightningTurret/LightningTurret.prefab b/Assets/Prefabs/Towers/LightningTurret/LightningTurret.prefab index 1b75ef2b..b48f4009 100644 --- a/Assets/Prefabs/Towers/LightningTurret/LightningTurret.prefab +++ b/Assets/Prefabs/Towers/LightningTurret/LightningTurret.prefab @@ -570,10 +570,6 @@ MonoBehaviour: m_EditorClassIdentifier: canInteract: 1 input: {fileID: 0} - bullet: {fileID: 0} - bulletSpawnPoint: {fileID: 0} - bulletSpeed: 0 - bulletDamage: 0 --- !u!54 &1378390819816396464 Rigidbody: m_ObjectHideFlags: 0 diff --git a/Assets/Prefabs/Towers/WheelTurret/WheelTurret.prefab b/Assets/Prefabs/Towers/WheelTurret/WheelTurret.prefab index 0aca1ca8..5d3bfa0c 100644 --- a/Assets/Prefabs/Towers/WheelTurret/WheelTurret.prefab +++ b/Assets/Prefabs/Towers/WheelTurret/WheelTurret.prefab @@ -122,6 +122,7 @@ GameObject: m_Component: - component: {fileID: 2462899330894574527} - component: {fileID: 5783301673282278111} + - component: {fileID: 2609491176346275453} - component: {fileID: 3515612305777872196} - component: {fileID: 1759242131} - component: {fileID: 3531771237580499680} @@ -162,12 +163,24 @@ MonoBehaviour: m_EditorClassIdentifier: canInteract: 1 input: {fileID: 0} + rotAxis: {fileID: 769070955576516685} + arrowPointer: {fileID: 8557351424284430801} +--- !u!114 &2609491176346275453 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2983117196373584133} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c9aab47f9c6e15941975dfb0bc7c8db4, type: 3} + m_Name: + m_EditorClassIdentifier: bullet: {fileID: 4237738930188430962, guid: 1cacc95863cb82a4da5dcf8bb67f5ef2, type: 3} bulletSpawnPoint: {fileID: 7245097492267856000} bulletSpeed: 5 bulletDamage: 5 - rotAxis: {fileID: 769070955576516685} - arrowPointer: {fileID: 8557351424284430801} --- !u!95 &3515612305777872196 Animator: serializedVersion: 3 diff --git a/Assets/Prefabs/Towers/tower_pendulum.prefab b/Assets/Prefabs/Towers/tower_pendulum.prefab index 1b6aa873..ec375cb8 100644 --- a/Assets/Prefabs/Towers/tower_pendulum.prefab +++ b/Assets/Prefabs/Towers/tower_pendulum.prefab @@ -42,6 +42,7 @@ GameObject: m_Component: - component: {fileID: 3686963311025437781} - component: {fileID: 1350360576178508834} + - component: {fileID: 2175461025215403135} - component: {fileID: 8466527481623126138} - component: {fileID: 8528154779301624128} - component: {fileID: 154197252} @@ -81,12 +82,24 @@ MonoBehaviour: m_EditorClassIdentifier: canInteract: 1 input: {fileID: 0} + rotAxis: {fileID: 0} + arrowPointer: {fileID: 4911675975082342184} +--- !u!114 &2175461025215403135 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 423603099658726498} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c9aab47f9c6e15941975dfb0bc7c8db4, type: 3} + m_Name: + m_EditorClassIdentifier: bullet: {fileID: 0} bulletSpawnPoint: {fileID: 0} bulletSpeed: 0 bulletDamage: 0 - rotAxis: {fileID: 0} - arrowPointer: {fileID: 4911675975082342184} --- !u!136 &8466527481623126138 CapsuleCollider: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Towers/ProjectileTowerLogic.cs b/Assets/Scripts/Towers/ProjectileTowerLogic.cs new file mode 100644 index 00000000..36e6021f --- /dev/null +++ b/Assets/Scripts/Towers/ProjectileTowerLogic.cs @@ -0,0 +1,20 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class ProjectileTowerLogic : MonoBehaviour +{ + public GameObject bullet; + public GameObject bulletSpawnPoint; + public float bulletSpeed; + public float bulletDamage; + + public void LaunchProjectile() + { + GameObject newBullet = Instantiate(bullet, bulletSpawnPoint.transform.position, bulletSpawnPoint.transform.rotation); + newBullet.transform.SetParent(transform); + BulletLogic newBulletLogic = newBullet.GetComponent(); + newBulletLogic.Damage = bulletDamage; + newBulletLogic.BulletSpeed = bulletSpeed; + } +} diff --git a/Assets/Scripts/Towers/ProjectileTowerLogic.cs.meta b/Assets/Scripts/Towers/ProjectileTowerLogic.cs.meta new file mode 100644 index 00000000..36e1096d --- /dev/null +++ b/Assets/Scripts/Towers/ProjectileTowerLogic.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c9aab47f9c6e15941975dfb0bc7c8db4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Towers/TowerLogic.cs b/Assets/Scripts/Towers/TowerLogic.cs index 902ec758..b875b978 100644 --- a/Assets/Scripts/Towers/TowerLogic.cs +++ b/Assets/Scripts/Towers/TowerLogic.cs @@ -6,11 +6,6 @@ public class TowerLogic : Interactable { public TurretInput input; - public GameObject bullet; - public GameObject bulletSpawnPoint; - public float bulletSpeed; - public float bulletDamage; - protected void Start() { HexGrid hexGrid = GameObject.FindGameObjectWithTag("Grid").GetComponent(); @@ -32,13 +27,4 @@ public override void Unfocus(PlayerStateController player) public override void Interact(PlayerStateController player) {} - - private void LaunchProjectile() - { - GameObject newBullet = Instantiate(bullet, bulletSpawnPoint.transform.position, bulletSpawnPoint.transform.rotation); - newBullet.transform.SetParent(transform); - BulletLogic newBulletLogic = newBullet.GetComponent(); - newBulletLogic.Damage = bulletDamage; - newBulletLogic.BulletSpeed = bulletSpeed; - } }