refactor: Actions to Delegates
This commit is contained in:
@@ -11,14 +11,14 @@ namespace Syntriax.Engine.Core;
|
||||
[System.Diagnostics.DebuggerDisplay("Behaviour Count: {behaviours.Count}")]
|
||||
public class BehaviourController : IBehaviourController
|
||||
{
|
||||
public Action<IBehaviourController>? OnPreUpdate { get; set; }
|
||||
public Action<IBehaviourController>? OnUpdate { get; set; } = null;
|
||||
public Action<IBehaviourController>? OnPreDraw { get; set; } = null;
|
||||
public event IBehaviourController.OnPreUpdateDelegate? OnPreUpdate = null;
|
||||
public event IBehaviourController.OnUpdateDelegate? OnUpdate = null;
|
||||
public event IBehaviourController.OnPreDrawDelegate? OnPreDraw = null;
|
||||
|
||||
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;
|
||||
public event IBehaviourController.OnBehaviourAddedDelegate? OnBehaviourAdded = null;
|
||||
public event IBehaviourController.OnBehaviourRemovedDelegate? OnBehaviourRemoved = null;
|
||||
public event IAssignable.OnUnassignedDelegate? OnUnassigned;
|
||||
public event IAssignableGameObject.OnGameObjectAssignedDelegate? OnGameObjectAssigned = null;
|
||||
|
||||
|
||||
private readonly IList<IBehaviour> behaviours = new List<IBehaviour>(Constants.BEHAVIOURS_SIZE_INITIAL);
|
||||
@@ -165,10 +165,11 @@ public class BehaviourController : IBehaviourController
|
||||
behaviours.Add(behaviour);
|
||||
}
|
||||
|
||||
private void OnPriorityChange(IBehaviour behaviour)
|
||||
|
||||
private void OnPriorityChange(IBehaviour sender, int previousPriority)
|
||||
{
|
||||
behaviours.Remove(behaviour);
|
||||
InsertBehaviourByPriority(behaviour);
|
||||
behaviours.Remove(sender);
|
||||
InsertBehaviourByPriority(sender);
|
||||
}
|
||||
|
||||
public IEnumerator<IBehaviour> GetEnumerator() => behaviours.GetEnumerator();
|
||||
|
Reference in New Issue
Block a user