Compare commits

...

8 Commits

Author SHA1 Message Date
Stedd d762ad7985 Build settings 2024-10-05 17:19:35 +02:00
Stedd 2cfa1da8a7 Added debug functions 2024-10-05 17:19:15 +02:00
Stedd a43d9f354a using cleanup 2024-10-05 17:10:03 +02:00
Stedd fabec89267 Fixed error in target RuntimeSets 2024-10-05 17:09:24 +02:00
Stedd 253f7b78d1 Fixed a mistake in Turret OnEnable method 2024-10-05 17:08:01 +02:00
Stedd d4e9bde59d Renamed TargetFinder function 2024-10-05 17:07:38 +02:00
Stedd 1719b56d8a Fixed null error if there are no targets 2024-10-05 17:07:22 +02:00
Stedd bb89431807 Added simple death mechanic 2024-10-05 17:06:31 +02:00
17 changed files with 48 additions and 34 deletions

@ -1 +1 @@
Subproject commit 4005878930047e686a5efbd876ebee4cb3d97442 Subproject commit 813d034fc50bd7359586deea2ba305405a794bde

View File

@ -148,6 +148,9 @@ MonoBehaviour:
<CurrentHealth>k__BackingField: 10 <CurrentHealth>k__BackingField: 10
<MaxHealth>k__BackingField: 10 <MaxHealth>k__BackingField: 10
<IsInvulnerable>k__BackingField: 0 <IsInvulnerable>k__BackingField: 0
DeathEvent:
m_PersistentCalls:
m_Calls: []
--- !u!1 &1768817052950042673 --- !u!1 &1768817052950042673
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -541,7 +544,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 8410932d22e18624787af61d3a4cd191, type: 3} m_Script: {fileID: 11500000, guid: 8410932d22e18624787af61d3a4cd191, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
_activeTargetableRuntimeSet: {fileID: 11400000, guid: ab93dbcc7e973184b896173796edc5ac, type: 2} _activeTargetableRuntimeSet: {fileID: 11400000, guid: 7eab5444b4ac7f28badf814659475b35, type: 2}
<Damageable>k__BackingField: {fileID: 4299120351774448665} <Damageable>k__BackingField: {fileID: 4299120351774448665}
_centerPosition: {fileID: 2513054780709503419} _centerPosition: {fileID: 2513054780709503419}
_basePosition: {fileID: 561887346552595101} _basePosition: {fileID: 561887346552595101}
@ -933,8 +936,8 @@ MonoBehaviour:
_targeterConfig: {fileID: 11400000, guid: d5813a38da3962d4498fc71ef33361b6, type: 2} _targeterConfig: {fileID: 11400000, guid: d5813a38da3962d4498fc71ef33361b6, type: 2}
_range: 0 _range: 0
_targetStrategy: 0 _targetStrategy: 0
_activeTargetable: {fileID: 11400000, guid: 2f4ea1ba11a5a3740a0c828fd2fa47d4, type: 2} _activeTargetable: {fileID: 0}
_targeterParent: {fileID: 4816616723634589559} _targeterParent: {fileID: 0}
<TargetEntity>k__BackingField: {fileID: 0} <TargetEntity>k__BackingField: {fileID: 0}
--- !u!1 &7670619634857166053 --- !u!1 &7670619634857166053
GameObject: GameObject:

View File

@ -15,4 +15,4 @@ MonoBehaviour:
_maxRange: 30 _maxRange: 30
_minRange: 0.5 _minRange: 0.5
_selectedTargetStrategy: 0 _selectedTargetStrategy: 0
_activeEntities: {fileID: 11400000, guid: 2f4ea1ba11a5a3740a0c828fd2fa47d4, type: 2} _activeEntities: {fileID: 11400000, guid: e4a169ae23d295ff2b9b2a3d4213a0ee, type: 2}

View File

@ -9,7 +9,7 @@ MonoBehaviour:
m_GameObject: {fileID: 0} m_GameObject: {fileID: 0}
m_Enabled: 1 m_Enabled: 1
m_EditorHideFlags: 0 m_EditorHideFlags: 0
m_Script: {fileID: 0} m_Script: {fileID: 11500000, guid: 7d76ef79c960c1845a914468e30d036b, type: 3}
m_Name: ActiveTargetableBuildings m_Name: ActiveTargetableBuildings
m_EditorClassIdentifier: CoreSystems:GameDev.CoreSystems:SoTargetableRuntimeSet m_EditorClassIdentifier:
_list: [] _list: []

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 2f4ea1ba11a5a3740a0c828fd2fa47d4 guid: e4a169ae23d295ff2b9b2a3d4213a0ee
NativeFormatImporter: NativeFormatImporter:
externalObjects: {} externalObjects: {}
mainObjectFileID: 11400000 mainObjectFileID: 11400000

View File

@ -9,7 +9,7 @@ MonoBehaviour:
m_GameObject: {fileID: 0} m_GameObject: {fileID: 0}
m_Enabled: 1 m_Enabled: 1
m_EditorHideFlags: 0 m_EditorHideFlags: 0
m_Script: {fileID: 0} m_Script: {fileID: 11500000, guid: 7d76ef79c960c1845a914468e30d036b, type: 3}
m_Name: ActiveTargetableEnemies m_Name: ActiveTargetableEnemies
m_EditorClassIdentifier: CoreSystems:GameDev.CoreSystems:SoTargetableRuntimeSet m_EditorClassIdentifier:
_list: [] _list: []

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: ab93dbcc7e973184b896173796edc5ac guid: 7eab5444b4ac7f28badf814659475b35
NativeFormatImporter: NativeFormatImporter:
externalObjects: {} externalObjects: {}
mainObjectFileID: 11400000 mainObjectFileID: 11400000

View File

@ -1,5 +1,4 @@
using System.Collections.Generic; using System.Collections.Generic;
using AsteroidGame.ScriptableObjects;
using GameDev.CoreSystems; using GameDev.CoreSystems;
using UnityEngine; using UnityEngine;
using UnityEngine.AI; using UnityEngine.AI;
@ -46,7 +45,7 @@ namespace AsteroidGame.Entities
private void Update() private void Update()
{ {
if (Targeter.FindTarget()) if (Targeter.FoundTarget())
{ {
foreach (var weapon in Weapons) foreach (var weapon in Weapons)
{ {

View File

@ -1,4 +1,3 @@
using AsteroidGame.ScriptableObjects;
using GameDev.CoreSystems; using GameDev.CoreSystems;
using UnityEngine; using UnityEngine;
@ -33,6 +32,12 @@ namespace AsteroidGame.Entities
private void InitializeDamageable() private void InitializeDamageable()
{ {
Damageable ??= gameObject.AddComponent<Damageable>(); Damageable ??= gameObject.AddComponent<Damageable>();
Damageable.DeathEvent.AddListener(HandleDeath);
}
private void HandleDeath()
{
Destroy(gameObject);
} }
private void InitializeTargetable() private void InitializeTargetable()

View File

@ -9,8 +9,9 @@ namespace AsteroidGame.Entities
[SerializeField] private SoTargeterConfig _targeterConfig; [SerializeField] private SoTargeterConfig _targeterConfig;
[SerializeField] private float _range; [SerializeField] private float _range;
[Header("Config Debug")]
[SerializeField] private SoTargeterConfig.TargetStrategy _targetStrategy; [SerializeField] private SoTargeterConfig.TargetStrategy _targetStrategy;
[FormerlySerializedAs("_activeEntities")]
[SerializeField] private SoTargetableRuntimeSet _activeTargetable; [SerializeField] private SoTargetableRuntimeSet _activeTargetable;
[SerializeField] private Targetable _targeterParent; [SerializeField] private Targetable _targeterParent;
[field: SerializeField] public Targetable TargetEntity { get; set; } [field: SerializeField] public Targetable TargetEntity { get; set; }
@ -34,8 +35,10 @@ namespace AsteroidGame.Entities
return TargetEntity; return TargetEntity;
} }
public bool FindTarget() public bool FoundTarget()
{ {
if (_activeTargetable == null || _activeTargetable.Count == 0) return false;
var currentBestValue = Mathf.Infinity; var currentBestValue = Mathf.Infinity;
var targetFound = false; var targetFound = false;

View File

@ -99,8 +99,8 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 8410932d22e18624787af61d3a4cd191, type: 3} m_Script: {fileID: 11500000, guid: 8410932d22e18624787af61d3a4cd191, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
_activeTargetableRuntimeSet: {fileID: 11400000, guid: 2f4ea1ba11a5a3740a0c828fd2fa47d4, type: 2} _activeTargetableRuntimeSet: {fileID: 11400000, guid: e4a169ae23d295ff2b9b2a3d4213a0ee, type: 2}
<Damageable>k__BackingField: {fileID: 0} <Damageable>k__BackingField: {fileID: 4803755810606958043}
_centerPosition: {fileID: 4810890945869411434} _centerPosition: {fileID: 4810890945869411434}
_basePosition: {fileID: 4377705888661834325} _basePosition: {fileID: 4377705888661834325}
<Collider>k__BackingField: {fileID: 4863520569015429884} <Collider>k__BackingField: {fileID: 4863520569015429884}
@ -289,6 +289,9 @@ MonoBehaviour:
<CurrentHealth>k__BackingField: 10 <CurrentHealth>k__BackingField: 10
<MaxHealth>k__BackingField: 10 <MaxHealth>k__BackingField: 10
<IsInvulnerable>k__BackingField: 0 <IsInvulnerable>k__BackingField: 0
DeathEvent:
m_PersistentCalls:
m_Calls: []
--- !u!1 &5696605131341260023 --- !u!1 &5696605131341260023
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@ -1,4 +1,3 @@
using AsteroidGame.ScriptableObjects;
using GameDev.CoreSystems; using GameDev.CoreSystems;
using UnityEngine; using UnityEngine;
@ -25,7 +24,7 @@ namespace AsteroidGame.Entities
#endregion #endregion
protected void OnEnable() protected virtual void OnEnable()
{ {
_structureBaseSet.Add(this); _structureBaseSet.Add(this);
InitializePower(); InitializePower();

View File

@ -21,7 +21,7 @@ namespace AsteroidGame.Entities
[field: Header("Targeter")] [field: Header("Targeter")]
[field: SerializeField] public Targeter Targeter { get; set; } [field: SerializeField] public Targeter Targeter { get; set; }
protected void OnEnable() protected override void OnEnable()
{ {
base.OnEnable(); base.OnEnable();
InitializeTargeter(); InitializeTargeter();
@ -34,7 +34,7 @@ namespace AsteroidGame.Entities
private void Update() private void Update()
{ {
if (Targeter.FindTarget()) if (Targeter.FoundTarget())
{ {
foreach (var weapon in Weapons) foreach (var weapon in Weapons)
{ {

View File

@ -80,7 +80,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 8410932d22e18624787af61d3a4cd191, type: 3} m_Script: {fileID: 11500000, guid: 8410932d22e18624787af61d3a4cd191, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
_activeTargetableRuntimeSet: {fileID: 11400000, guid: 2f4ea1ba11a5a3740a0c828fd2fa47d4, type: 2} _activeTargetableRuntimeSet: {fileID: 11400000, guid: e4a169ae23d295ff2b9b2a3d4213a0ee, type: 2}
<Damageable>k__BackingField: {fileID: 3620345197547817675} <Damageable>k__BackingField: {fileID: 3620345197547817675}
_centerPosition: {fileID: 6894291031605712785} _centerPosition: {fileID: 6894291031605712785}
_basePosition: {fileID: 9116849480152445015} _basePosition: {fileID: 9116849480152445015}
@ -351,6 +351,9 @@ MonoBehaviour:
<CurrentHealth>k__BackingField: 50 <CurrentHealth>k__BackingField: 50
<MaxHealth>k__BackingField: 50 <MaxHealth>k__BackingField: 50
<IsInvulnerable>k__BackingField: 0 <IsInvulnerable>k__BackingField: 0
DeathEvent:
m_PersistentCalls:
m_Calls: []
--- !u!1 &4685821586660635131 --- !u!1 &4685821586660635131
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -943,7 +946,7 @@ MonoBehaviour:
_targeterConfig: {fileID: 11400000, guid: 9df40bc219ab8f04cb4e86558bc0df86, type: 2} _targeterConfig: {fileID: 11400000, guid: 9df40bc219ab8f04cb4e86558bc0df86, type: 2}
_range: 0 _range: 0
_targetStrategy: 0 _targetStrategy: 0
_activeTargetable: {fileID: 11400000, guid: ab93dbcc7e973184b896173796edc5ac, type: 2} _activeTargetable: {fileID: 0}
_targeterParent: {fileID: 0} _targeterParent: {fileID: 0}
<TargetEntity>k__BackingField: {fileID: 0} <TargetEntity>k__BackingField: {fileID: 0}
--- !u!1 &8385032484663529878 --- !u!1 &8385032484663529878
@ -1141,11 +1144,6 @@ MonoBehaviour:
_buildTimer: 0 _buildTimer: 0
_structureBaseSet: {fileID: 11400000, guid: 1925957d2bc2f0c4a9210131f2d2c4e5, type: 2} _structureBaseSet: {fileID: 11400000, guid: 1925957d2bc2f0c4a9210131f2d2c4e5, type: 2}
_powerConfig: {fileID: 11400000, guid: 9dc2a0f5f29a11a4d9cabe19e18bdd42, type: 2} _powerConfig: {fileID: 11400000, guid: 9dc2a0f5f29a11a4d9cabe19e18bdd42, type: 2}
_damage: 1
_fireRate: 1
_projectileSpeed: 5
_kills: 0
_damageDealt: 0
<Weapons>k__BackingField: <Weapons>k__BackingField:
- {fileID: 5825155873221046368} - {fileID: 5825155873221046368}
<Targeter>k__BackingField: {fileID: 310569669314672228} <Targeter>k__BackingField: {fileID: 310569669314672228}

View File

@ -15,4 +15,4 @@ MonoBehaviour:
_maxRange: 15 _maxRange: 15
_minRange: 0.5 _minRange: 0.5
_selectedTargetStrategy: 0 _selectedTargetStrategy: 0
_activeEntities: {fileID: 11400000, guid: ab93dbcc7e973184b896173796edc5ac, type: 2} _activeEntities: {fileID: 11400000, guid: 7eab5444b4ac7f28badf814659475b35, type: 2}

View File

@ -204,6 +204,7 @@ MonoBehaviour:
m_DeselectOnBackgroundClick: 1 m_DeselectOnBackgroundClick: 1
m_PointerBehavior: 0 m_PointerBehavior: 0
m_CursorLockBehavior: 0 m_CursorLockBehavior: 0
m_ScrollDeltaPerTick: 6
--- !u!114 &95533812 --- !u!114 &95533812
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -265,9 +266,9 @@ Transform:
m_Children: m_Children:
- {fileID: 2079460687} - {fileID: 2079460687}
- {fileID: 577983772} - {fileID: 577983772}
- {fileID: 2037644595}
- {fileID: 1715656626} - {fileID: 1715656626}
- {fileID: 991542217} - {fileID: 991542217}
- {fileID: 2037644595}
- {fileID: 1495762292} - {fileID: 1495762292}
- {fileID: 1421503444} - {fileID: 1421503444}
- {fileID: 1494435109} - {fileID: 1494435109}
@ -1042,7 +1043,7 @@ PrefabInstance:
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 5599539567497807159, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3} - target: {fileID: 5599539567497807159, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3}
propertyPath: m_IsActive propertyPath: m_IsActive
value: 0 value: 1
objectReference: {fileID: 0} objectReference: {fileID: 0}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
@ -1971,7 +1972,7 @@ PrefabInstance:
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 1134055636167264334, guid: 57a75520298c47140a928041b05d7f3c, type: 3} - target: {fileID: 1134055636167264334, guid: 57a75520298c47140a928041b05d7f3c, type: 3}
propertyPath: m_IsActive propertyPath: m_IsActive
value: 0 value: 1
objectReference: {fileID: 0} objectReference: {fileID: 0}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []

View File

@ -4,6 +4,9 @@
EditorBuildSettings: EditorBuildSettings:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
serializedVersion: 2 serializedVersion: 2
m_Scenes: [] m_Scenes:
- enabled: 1
path: Assets/Scenes/Playground 1.unity
guid: ed03459d41048d048963e74a69bba0e0
m_configObjects: m_configObjects:
com.unity.input.settings: {fileID: 11400000, guid: 2f27ffbbbd54d9c4b9435071982af520, type: 2} com.unity.input.settings: {fileID: 11400000, guid: 2f27ffbbbd54d9c4b9435071982af520, type: 2}