diff --git a/Assets/CoreSystems b/Assets/CoreSystems index 639357c..08e1e8f 160000 --- a/Assets/CoreSystems +++ b/Assets/CoreSystems @@ -1 +1 @@ -Subproject commit 639357ca9aa7ae6a32f5f97067d6d33005d9bdb1 +Subproject commit 08e1e8f0ea14d83d82cd81896865b7c1b7664a0f diff --git a/Assets/Entities/Enemies/Enemy.prefab b/Assets/Entities/Enemies/Enemy.prefab index 54ad472..58209c6 100644 --- a/Assets/Entities/Enemies/Enemy.prefab +++ b/Assets/Entities/Enemies/Enemy.prefab @@ -31,7 +31,6 @@ Transform: m_Children: - {fileID: 5355765884551595638} - {fileID: 91949040360545666} - - {fileID: 8001059947964412310} - {fileID: 2513054780709503419} m_Father: {fileID: 7780103704517281592} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -316,59 +315,6 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!1 &4192276824634724634 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8001059947964412310} - - component: {fileID: 5604178963170827772} - m_Layer: 0 - m_Name: Collider:Enemy - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8001059947964412310 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4192276824634724634} - serializedVersion: 2 - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 3291032053430181389} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!65 &5604178963170827772 -BoxCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4192276824634724634} - m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 - m_IsTrigger: 0 - m_ProvidesContacts: 0 - m_Enabled: 1 - serializedVersion: 3 - m_Size: {x: 1.3168308, y: 1, z: 1.3902934} - m_Center: {x: 0.15841538, y: 0, z: -0.0017904043} --- !u!1 &4733920494088122715 GameObject: m_ObjectHideFlags: 0 @@ -493,6 +439,7 @@ GameObject: m_Component: - component: {fileID: 3486364872742429245} - component: {fileID: 4816616723634589559} + - component: {fileID: 2425760649276150986} m_Layer: 0 m_Name: Targetable m_TagString: Untagged @@ -531,6 +478,28 @@ MonoBehaviour: k__BackingField: {fileID: 0} _centerPosition: {fileID: 2513054780709503419} _basePosition: {fileID: 561887346552595101} + k__BackingField: {fileID: 2425760649276150986} +--- !u!65 &2425760649276150986 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5367121395816538489} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 1 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1.0246186, z: 1.2982101} + m_Center: {x: 0, y: 2.0066376, z: 0.14910507} --- !u!1 &5599539567497807159 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Entities/Scripts/EnemyBase.cs b/Assets/Entities/Scripts/EnemyBase.cs index a9b800e..4cf8d31 100644 --- a/Assets/Entities/Scripts/EnemyBase.cs +++ b/Assets/Entities/Scripts/EnemyBase.cs @@ -53,7 +53,7 @@ namespace AsteroidGame.Entities private void Update() { - if (!Targeter.FoundTarget()) return; + if (!Targeter.FindTarget()) return; Targetable = Targeter.GetTarget(); _navMeshAgent.SetDestination(Targetable.GetBasePosition()); diff --git a/Assets/Entities/Scripts/Targeter.cs b/Assets/Entities/Scripts/Targeter.cs index 15f63eb..9fc1d20 100644 --- a/Assets/Entities/Scripts/Targeter.cs +++ b/Assets/Entities/Scripts/Targeter.cs @@ -35,7 +35,7 @@ namespace AsteroidGame.Entities return TargetEntity; } - public bool FoundTarget() + public bool FindTarget() { var currentBestValue = Mathf.Infinity; var targetFound = false; diff --git a/Assets/Entities/Structures/PowerPlant/PowerPlant.prefab b/Assets/Entities/Structures/PowerPlant/PowerPlant.prefab index 4380ff9..d6e963c 100644 --- a/Assets/Entities/Structures/PowerPlant/PowerPlant.prefab +++ b/Assets/Entities/Structures/PowerPlant/PowerPlant.prefab @@ -67,6 +67,7 @@ GameObject: m_Component: - component: {fileID: 705421445933726062} - component: {fileID: 4098794156838288170} + - component: {fileID: 4863520569015429884} m_Layer: 0 m_Name: Targetable m_TagString: Untagged @@ -105,6 +106,28 @@ MonoBehaviour: k__BackingField: {fileID: 0} _centerPosition: {fileID: 4810890945869411434} _basePosition: {fileID: 4377705888661834325} + k__BackingField: {fileID: 4863520569015429884} +--- !u!65 &4863520569015429884 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1139200854042314162} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 1 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 2.627956, z: 1} + m_Center: {x: 0, y: 1.3218157, z: 0} --- !u!1 &1863277996181035512 GameObject: m_ObjectHideFlags: 0 @@ -364,7 +387,7 @@ GameObject: - component: {fileID: 1304836505922952958} - component: {fileID: 7017721820285896187} - component: {fileID: 3016585337932784522} - m_Layer: 0 + m_Layer: 2 m_Name: BuildCollider m_TagString: Untagged m_Icon: {fileID: 0} diff --git a/Assets/Entities/Structures/Turret/Turret.cs b/Assets/Entities/Structures/Turret/Turret.cs index a9c6f01..f05f60c 100644 --- a/Assets/Entities/Structures/Turret/Turret.cs +++ b/Assets/Entities/Structures/Turret/Turret.cs @@ -1,3 +1,4 @@ +using GameDev.CoreSystems; using UnityEngine; namespace AsteroidGame.Entities @@ -13,23 +14,12 @@ namespace AsteroidGame.Entities [SerializeField] private float _kills = 0f; [SerializeField] private float _damageDealt = 0f; - [Header("RigConnections")] - [SerializeField] private Transform _turretHead; - [SerializeField] private Transform _barrel; + [field: Header("Weapon")] + [field: SerializeField] public Weapon Weapon { get; set; } [field: Header("Targeter")] [field: SerializeField] public Targeter Targeter { get; set; } - #region Publics - - public int Damage - { - get => _damage; - set => _damage = value; - } - - #endregion - protected override void OnEnable() { base.OnEnable(); @@ -43,8 +33,15 @@ namespace AsteroidGame.Entities private void Update() { - if (!Targeter.FoundTarget()) return; - _turretHead.transform.LookAt(Targeter.GetTarget().GetCenterPosition()); + if (Targeter.FindTarget()) + { + Weapon.PivotPoint.transform.LookAt(Targeter.GetTarget().GetCenterPosition()); + Weapon.FireWeapon = true; + } + else + { + Weapon.FireWeapon = false; + } } } } \ No newline at end of file diff --git a/Assets/Entities/Structures/Turret/Turret.prefab b/Assets/Entities/Structures/Turret/Turret.prefab index 7d1faae..4ffd806 100644 --- a/Assets/Entities/Structures/Turret/Turret.prefab +++ b/Assets/Entities/Structures/Turret/Turret.prefab @@ -32,6 +32,7 @@ Transform: - {fileID: 6280290603549554065} - {fileID: 1742443095838507103} - {fileID: 989884077484375908} + - {fileID: 2041380952847458705} m_Father: {fileID: 8324879816836607384} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1118725470430693759 @@ -44,6 +45,7 @@ GameObject: m_Component: - component: {fileID: 1742443095838507103} - component: {fileID: 3738931345656042189} + - component: {fileID: 6912639667868447711} m_Layer: 0 m_Name: Targetable m_TagString: Untagged @@ -82,6 +84,28 @@ MonoBehaviour: k__BackingField: {fileID: 0} _centerPosition: {fileID: 6894291031605712785} _basePosition: {fileID: 9116849480152445015} + k__BackingField: {fileID: 6912639667868447711} +--- !u!65 &6912639667868447711 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118725470430693759} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 1 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 2.5, y: 3.3048763, z: 2.46} + m_Center: {x: 0, y: 1.1406274, z: 0} --- !u!1 &1413342146147867861 GameObject: m_ObjectHideFlags: 0 @@ -327,6 +351,37 @@ MonoBehaviour: k__BackingField: 10 k__BackingField: 10 k__BackingField: 0 +--- !u!1 &4685821586660635131 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2455338187037915645} + m_Layer: 0 + m_Name: Ref:BarrelExitPoint + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2455338187037915645 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4685821586660635131} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5103935544653627402} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &5103935544653627403 GameObject: m_ObjectHideFlags: 0 @@ -360,6 +415,7 @@ Transform: - {fileID: 6825805678301724597} - {fileID: 1987518899328085188} - {fileID: 6648276078230438600} + - {fileID: 2455338187037915645} m_Father: {fileID: 5103935544759496321} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &5103935544759496322 @@ -427,6 +483,56 @@ Transform: - {fileID: 2391693866166879097} m_Father: {fileID: 5103935544653627402} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5311487960352266884 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2041380952847458705} + - component: {fileID: 5825155873221046368} + m_Layer: 0 + m_Name: Weapon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2041380952847458705 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5311487960352266884} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5898541643653152293} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &5825155873221046368 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5311487960352266884} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 86bd9978589203b4db636cf6248e263b, type: 3} + m_Name: + m_EditorClassIdentifier: + k__BackingField: {fileID: 5103935544653627402} + k__BackingField: {fileID: 2455338187037915645} + k__BackingField: 0 + k__BackingField: 0 + k__BackingField: 0 + _timeUntilFire: 0 --- !u!1 &5357542139584026431 GameObject: m_ObjectHideFlags: 0 @@ -852,7 +958,7 @@ GameObject: - component: {fileID: 3888725377378342825} - component: {fileID: 3252872069634226352} - component: {fileID: 4256226406833302537} - m_Layer: 0 + m_Layer: 2 m_Name: BuildCollider m_TagString: Untagged m_Icon: {fileID: 0} @@ -1043,6 +1149,5 @@ MonoBehaviour: _projectileSpeed: 5 _kills: 0 _damageDealt: 0 - _turretHead: {fileID: 5103935544653627402} - _barrel: {fileID: 5103935545559248087} + k__BackingField: {fileID: 5825155873221046368} k__BackingField: {fileID: 310569669314672228} diff --git a/Assets/Scenes/Playground 1.unity b/Assets/Scenes/Playground 1.unity index b3e149a..cd91b7e 100644 --- a/Assets/Scenes/Playground 1.unity +++ b/Assets/Scenes/Playground 1.unity @@ -625,7 +625,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} propertyPath: m_LocalPosition.y - value: -0.98203504 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} propertyPath: m_LocalPosition.z @@ -703,7 +703,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} propertyPath: m_LocalPosition.y - value: -0.98203504 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} propertyPath: m_LocalPosition.z @@ -856,7 +856,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} propertyPath: m_LocalPosition.y - value: -0.98203504 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} propertyPath: m_LocalPosition.z @@ -894,6 +894,10 @@ PrefabInstance: propertyPath: m_Name value: Enemy objectReference: {fileID: 0} + - target: {fileID: 5599539567497807159, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] @@ -1384,6 +1388,14 @@ PrefabInstance: serializedVersion: 3 m_TransformParent: {fileID: 157782261} m_Modifications: + - target: {fileID: 5825155873221046368, guid: 534f8d15e0c83c646887bebfda2bdfd6, type: 3} + propertyPath: k__BackingField + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5825155873221046368, guid: 534f8d15e0c83c646887bebfda2bdfd6, type: 3} + propertyPath: k__BackingField + value: 1 + objectReference: {fileID: 0} - target: {fileID: 8324879816836607384, guid: 534f8d15e0c83c646887bebfda2bdfd6, type: 3} propertyPath: m_LocalPosition.x value: -3.33 @@ -1703,7 +1715,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 493861824998956378, guid: 57a75520298c47140a928041b05d7f3c, type: 3} propertyPath: m_LocalPosition.y - value: -0.98203504 + value: 0 objectReference: {fileID: 0} - target: {fileID: 493861824998956378, guid: 57a75520298c47140a928041b05d7f3c, type: 3} propertyPath: m_LocalPosition.z