diff --git a/Assets/Scenes/LevelsTest/3_Flat.unity b/Assets/Scenes/LevelsTest/3_Flat.unity index 4fc35fe..b87c341 100644 --- a/Assets/Scenes/LevelsTest/3_Flat.unity +++ b/Assets/Scenes/LevelsTest/3_Flat.unity @@ -21578,6 +21578,10 @@ PrefabInstance: propertyPath: m_IsActive value: 1 objectReference: {fileID: 0} + - target: {fileID: 8643972435321148278, guid: 9afbe58abb2af8bb6b4ba51160a048a0, type: 3} + propertyPath: _isQueen + value: 1 + objectReference: {fileID: 0} - target: {fileID: 8643972435321148278, guid: 9afbe58abb2af8bb6b4ba51160a048a0, type: 3} propertyPath: k__BackingField value: 1 diff --git a/Assets/Scripts/UnitScripts/AbstractUnit.cs b/Assets/Scripts/UnitScripts/AbstractUnit.cs index 83dd35f..553a0ec 100644 --- a/Assets/Scripts/UnitScripts/AbstractUnit.cs +++ b/Assets/Scripts/UnitScripts/AbstractUnit.cs @@ -12,7 +12,20 @@ public abstract class AbstractUnit : MonoBehaviour { public float price; [field: SerializeField] public bool IsTeamA { get; private set; } - [field: SerializeField] public bool IsQueen { get; set; } + + [field: SerializeField] + protected bool _isQueen; + + public virtual bool IsQueen + { + get => _isQueen; + set => SetQueen(value); + } + + protected virtual void SetQueen(bool isQueen) + { + _isQueen = isQueen; + } public abstract void TakeDamage(float damage); public abstract void Heal(float heal); diff --git a/Assets/Scripts/UnitScripts/MinecraftUnit.cs b/Assets/Scripts/UnitScripts/MinecraftUnit.cs index 166cd16..80403b9 100644 --- a/Assets/Scripts/UnitScripts/MinecraftUnit.cs +++ b/Assets/Scripts/UnitScripts/MinecraftUnit.cs @@ -19,7 +19,11 @@ public class MinecraftUnit : AbstractUnit - + protected override void SetQueen(bool isQueen) + { + _isQueen = isQueen; + transform.Find("Crown").gameObject.SetActive(true); + } new void Awake() {