refactor: Actions to Delegates
This commit is contained in:
@@ -8,11 +8,11 @@ namespace Syntriax.Engine.Core;
|
||||
|
||||
public class BehaviourCollector<T> : IAssignableGameManager, IEnumerable<T>
|
||||
{
|
||||
public Action<IAssignable>? OnUnassigned { get; set; } = null;
|
||||
public Action<IAssignableGameManager>? OnGameManagerAssigned { get; set; } = null;
|
||||
public event IAssignable.OnUnassignedDelegate? OnUnassigned = null;
|
||||
public event IAssignableGameManager.OnGameManagerAssignedDelegate? OnGameManagerAssigned = null;
|
||||
|
||||
public Action<BehaviourCollector<T>, T>? OnCollected { get; set; } = null;
|
||||
public Action<BehaviourCollector<T>, T>? OnRemoved { get; set; } = null;
|
||||
public event OnCollectedDelegate? OnCollected = null;
|
||||
public event OnRemovedDelegate? OnRemoved = null;
|
||||
|
||||
private readonly List<T> _behaviours = new(32);
|
||||
|
||||
@@ -99,4 +99,8 @@ public class BehaviourCollector<T> : IAssignableGameManager, IEnumerable<T>
|
||||
|
||||
public IEnumerator<T> GetEnumerator() => _behaviours.GetEnumerator();
|
||||
IEnumerator IEnumerable.GetEnumerator() => _behaviours.GetEnumerator();
|
||||
|
||||
|
||||
public delegate void OnCollectedDelegate(BehaviourCollector<T> sender, T behaviourCollected);
|
||||
public delegate void OnRemovedDelegate(BehaviourCollector<T> sender, T behaviourRemoved);
|
||||
}
|
||||
|
Reference in New Issue
Block a user