feat: IActive interface added for hierarchy active state
This commit is contained in:
@@ -6,7 +6,7 @@ public class StateEnable : IStateEnable
|
||||
{
|
||||
public event IAssignable.UnassignEventHandler? OnUnassigned = null;
|
||||
public event IHasEntity.EntityAssignedEventHandler? OnEntityAssigned = null;
|
||||
public event IStateEnable.NameChangedEventHandler? OnEnabledChanged = null;
|
||||
public event IStateEnable.EnabledChangedEventHandler? OnEnabledChanged = null;
|
||||
|
||||
private bool _enabled = true;
|
||||
private IEntity _entity = null!;
|
||||
@@ -27,12 +27,14 @@ public class StateEnable : IStateEnable
|
||||
}
|
||||
}
|
||||
|
||||
protected virtual void OnAssign(IEntity entity) { }
|
||||
public bool Assign(IEntity entity)
|
||||
{
|
||||
if (_entity is not null && _entity.IsInitialized)
|
||||
return false;
|
||||
|
||||
_entity = entity;
|
||||
OnAssign(entity);
|
||||
OnEntityAssigned?.Invoke(this);
|
||||
return true;
|
||||
}
|
||||
|
Reference in New Issue
Block a user