feat: Added IAssignable.Unassign()
This commit is contained in:
@@ -6,6 +6,7 @@ namespace Syntriax.Engine.Core;
|
||||
|
||||
public class StateEnable : IStateEnable
|
||||
{
|
||||
public Action<IAssignable>? OnUnassigned { get; set; } = null;
|
||||
public Action<IAssignableEntity>? OnEntityAssigned { get; set; } = null;
|
||||
public Action<IStateEnable>? OnEnabledChanged { get; set; } = null;
|
||||
|
||||
@@ -29,11 +30,21 @@ public class StateEnable : IStateEnable
|
||||
|
||||
public bool Assign(IEntity entity)
|
||||
{
|
||||
if (_entity is not null) // TODO: IInitialize Maybe?
|
||||
if (_entity is not null) // TODO: Add IInitialize to IAssignable or IEntity maybe?
|
||||
return false;
|
||||
|
||||
_entity = entity;
|
||||
OnEntityAssigned?.Invoke(this);
|
||||
return true;
|
||||
}
|
||||
|
||||
public bool Unassign()
|
||||
{
|
||||
if (_entity is null)
|
||||
return false;
|
||||
|
||||
_entity = null!;
|
||||
OnUnassigned?.Invoke(this);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user