Turret weapon working

This commit is contained in:
Stedd 2023-10-08 18:49:25 +02:00
parent 208c745911
commit e4d15da38c
8 changed files with 186 additions and 80 deletions

@ -1 +1 @@
Subproject commit 639357ca9aa7ae6a32f5f97067d6d33005d9bdb1
Subproject commit 08e1e8f0ea14d83d82cd81896865b7c1b7664a0f

View File

@ -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:
<Damageable>k__BackingField: {fileID: 0}
_centerPosition: {fileID: 2513054780709503419}
_basePosition: {fileID: 561887346552595101}
<Collider>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

View File

@ -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());

View File

@ -35,7 +35,7 @@ namespace AsteroidGame.Entities
return TargetEntity;
}
public bool FoundTarget()
public bool FindTarget()
{
var currentBestValue = Mathf.Infinity;
var targetFound = false;

View File

@ -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:
<Damageable>k__BackingField: {fileID: 0}
_centerPosition: {fileID: 4810890945869411434}
_basePosition: {fileID: 4377705888661834325}
<Collider>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}

View File

@ -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;
}
}
}
}

View File

@ -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:
<Damageable>k__BackingField: {fileID: 0}
_centerPosition: {fileID: 6894291031605712785}
_basePosition: {fileID: 9116849480152445015}
<Collider>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:
<CurrentHealth>k__BackingField: 10
<MaxHealth>k__BackingField: 10
<IsInvulnerable>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:
<PivotPoint>k__BackingField: {fileID: 5103935544653627402}
<BarrelEndPoint>k__BackingField: {fileID: 2455338187037915645}
<FireRate>k__BackingField: 0
<Damage>k__BackingField: 0
<FireWeapon>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}
<Weapon>k__BackingField: {fileID: 5825155873221046368}
<Targeter>k__BackingField: {fileID: 310569669314672228}

View File

@ -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: <Damage>k__BackingField
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5825155873221046368, guid: 534f8d15e0c83c646887bebfda2bdfd6, type: 3}
propertyPath: <FireRate>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