From 53560fcc6bddfb098cb60ea9d6290d5d05c1c589 Mon Sep 17 00:00:00 2001 From: Stedd Date: Sat, 5 Oct 2024 15:34:39 +0200 Subject: [PATCH] Nicer syntax for adding components if null --- Assets/Entities/Scripts/EntityBase.cs | 9 +++------ Assets/Entities/Structures/Scripts/StructureBase.cs | 4 ++-- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/Assets/Entities/Scripts/EntityBase.cs b/Assets/Entities/Scripts/EntityBase.cs index 8ae35ba..51c0d44 100644 --- a/Assets/Entities/Scripts/EntityBase.cs +++ b/Assets/Entities/Scripts/EntityBase.cs @@ -15,7 +15,6 @@ namespace AsteroidGame.Entities [Header("UI")] [SerializeField] protected string _uiFriendlyName; - #region Props public string UiFriendlyName => _uiFriendlyName; @@ -30,17 +29,15 @@ namespace AsteroidGame.Entities AssignDamageable(); } - + private void InitializeDamageable() { - if (Damageable != null) return; - Damageable = gameObject.AddComponent(); + Damageable ??= gameObject.AddComponent(); } private void InitializeTargetable() { - if (Targetable != null) return; - Targetable = gameObject.AddComponent(); + Targetable ??= gameObject.AddComponent(); } private void AssignDamageable() diff --git a/Assets/Entities/Structures/Scripts/StructureBase.cs b/Assets/Entities/Structures/Scripts/StructureBase.cs index 6bcdc7d..fca19c0 100644 --- a/Assets/Entities/Structures/Scripts/StructureBase.cs +++ b/Assets/Entities/Structures/Scripts/StructureBase.cs @@ -32,8 +32,8 @@ namespace AsteroidGame.Entities private void InitializePower() { - _power = gameObject.AddComponent(); - _power.SetConfig(_powerConfig); + _power ??= gameObject.AddComponent(); + _power.Initialize(_powerConfig); } protected void OnDisable()