feat: event listener counts as constructor parameters
This commit is contained in:
parent
6a41407005
commit
62b54ee836
@ -3,10 +3,10 @@ using System.Collections.Generic;
|
|||||||
|
|
||||||
namespace Syntriax.Engine.Core;
|
namespace Syntriax.Engine.Core;
|
||||||
|
|
||||||
public class Event
|
public class Event(int initialListenerCount = 4, int initialOnceListenerCount = 2)
|
||||||
{
|
{
|
||||||
private readonly List<EventHandler> listeners = new(4);
|
private readonly List<EventHandler> listeners = new(initialListenerCount);
|
||||||
private readonly List<EventHandler> onceListeners = new(2);
|
private readonly List<EventHandler> onceListeners = new(initialOnceListenerCount);
|
||||||
|
|
||||||
public void AddListener(EventHandler listener) => listeners.Add(listener);
|
public void AddListener(EventHandler listener) => listeners.Add(listener);
|
||||||
public void AddOnceListener(EventHandler listener) => onceListeners.Add(listener);
|
public void AddOnceListener(EventHandler listener) => onceListeners.Add(listener);
|
||||||
@ -38,10 +38,10 @@ public class Event
|
|||||||
public delegate void EventHandler();
|
public delegate void EventHandler();
|
||||||
}
|
}
|
||||||
|
|
||||||
public class Event<TSender>
|
public class Event<TSender>(int initialListenerCount = 4, int initialOnceListenerCount = 2)
|
||||||
{
|
{
|
||||||
private readonly List<EventHandler> listeners = new(4);
|
private readonly List<EventHandler> listeners = new(initialListenerCount);
|
||||||
private readonly List<EventHandler> onceListeners = new(2);
|
private readonly List<EventHandler> onceListeners = new(initialOnceListenerCount);
|
||||||
|
|
||||||
public void AddListener(EventHandler listener) => listeners.Add(listener);
|
public void AddListener(EventHandler listener) => listeners.Add(listener);
|
||||||
public void AddOnceListener(EventHandler listener) => onceListeners.Add(listener);
|
public void AddOnceListener(EventHandler listener) => onceListeners.Add(listener);
|
||||||
@ -73,10 +73,10 @@ public class Event<TSender>
|
|||||||
public delegate void EventHandler(TSender sender);
|
public delegate void EventHandler(TSender sender);
|
||||||
}
|
}
|
||||||
|
|
||||||
public class Event<TSender, TArguments>
|
public class Event<TSender, TArguments>(int initialListenerCount = 4, int initialOnceListenerCount = 2)
|
||||||
{
|
{
|
||||||
private readonly List<EventHandler> listeners = new(4);
|
private readonly List<EventHandler> listeners = new(initialListenerCount);
|
||||||
private readonly List<EventHandler> onceListeners = new(2);
|
private readonly List<EventHandler> onceListeners = new(initialOnceListenerCount);
|
||||||
|
|
||||||
public void AddListener(EventHandler listener) => listeners.Add(listener);
|
public void AddListener(EventHandler listener) => listeners.Add(listener);
|
||||||
public void AddOnceListener(EventHandler listener) => onceListeners.Add(listener);
|
public void AddOnceListener(EventHandler listener) => onceListeners.Add(listener);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user