feat: Added IAssignable.Unassign()
This commit is contained in:
@@ -6,6 +6,7 @@ namespace Syntriax.Engine.Core;
|
||||
|
||||
public abstract class Behaviour : IBehaviour
|
||||
{
|
||||
public Action<IAssignable>? OnUnassigned { get; set; } = null;
|
||||
public Action<IAssignableStateEnable>? OnStateEnableAssigned { get; set; } = null;
|
||||
public Action<IAssignableBehaviourController>? OnBehaviourControllerAssigned { get; set; } = null;
|
||||
|
||||
@@ -73,6 +74,19 @@ public abstract class Behaviour : IBehaviour
|
||||
return true;
|
||||
}
|
||||
|
||||
public bool Unassign()
|
||||
{
|
||||
if (Initialized)
|
||||
return false;
|
||||
|
||||
_stateEnable = null!;
|
||||
_behaviourController = null!;
|
||||
_stateEnable.Unassign();
|
||||
|
||||
OnUnassigned?.Invoke(this);
|
||||
return true;
|
||||
}
|
||||
|
||||
public bool Initialize()
|
||||
{
|
||||
if (Initialized)
|
||||
|
Reference in New Issue
Block a user