feat: Added IAssignable.Unassign()

This commit is contained in:
2023-11-24 17:03:21 +03:00
parent 6f68e29fb8
commit 5a01b01215
6 changed files with 79 additions and 2 deletions

View File

@@ -15,6 +15,7 @@ public class BehaviourController : IBehaviourController
public Action<IBehaviourController, IBehaviour>? OnBehaviourAdded { get; set; } = null;
public Action<IBehaviourController, IBehaviour>? OnBehaviourRemoved { get; set; } = null;
public Action<IAssignable>? OnUnassigned { get; set; } = null;
public Action<IAssignableGameObject>? OnGameObjectAssigned { get; set; } = null;
@@ -95,6 +96,16 @@ public class BehaviourController : IBehaviourController
return true;
}
public bool Unassign()
{
if (GameObject.Initialized)
return false;
_gameObject = null!;
OnUnassigned?.Invoke(this);
return true;
}
public void Update(GameTime gameTime)
{
if (!GameObject.StateEnable.Enabled)