From eee305661438f0139bef0574ef423da5129e6dd4 Mon Sep 17 00:00:00 2001 From: Syntriax Date: Mon, 9 Jun 2025 18:34:20 +0300 Subject: [PATCH] fix: events not having default parameterless constructor --- Engine.Core/Helpers/Event.cs | 54 ++++++++++++++++++++++++++++++------ 1 file changed, 45 insertions(+), 9 deletions(-) diff --git a/Engine.Core/Helpers/Event.cs b/Engine.Core/Helpers/Event.cs index 391ca09..c6dd65c 100644 --- a/Engine.Core/Helpers/Event.cs +++ b/Engine.Core/Helpers/Event.cs @@ -3,10 +3,10 @@ using System.Collections.Generic; namespace Syntriax.Engine.Core; -public class Event(int initialListenerCount = 4, int initialOnceListenerCount = 2) +public class Event { - private readonly List listeners = new(initialListenerCount); - private readonly List onceListeners = new(initialOnceListenerCount); + private readonly List listeners = null!; + private readonly List onceListeners = null!; public void AddListener(EventHandler listener) => listeners.Add(listener); public void AddOnceListener(EventHandler listener) => onceListeners.Add(listener); @@ -35,13 +35,25 @@ public class Event(int initialListenerCount = 4, int initialOnceListenerCount = } } + public Event(int initialListenerCount = 4, int initialOnceListenerCount = 2) + { + listeners = new(initialListenerCount); + onceListeners = new(initialOnceListenerCount); + } + + public Event() + { + listeners = new(4); + onceListeners = new(2); + } + public delegate void EventHandler(); } -public class Event(int initialListenerCount = 4, int initialOnceListenerCount = 2) +public class Event { - private readonly List listeners = new(initialListenerCount); - private readonly List onceListeners = new(initialOnceListenerCount); + private readonly List listeners = null!; + private readonly List onceListeners = null!; public void AddListener(EventHandler listener) => listeners.Add(listener); public void AddOnceListener(EventHandler listener) => onceListeners.Add(listener); @@ -70,13 +82,25 @@ public class Event(int initialListenerCount = 4, int initialOnceListene } } + public Event(int initialListenerCount = 4, int initialOnceListenerCount = 2) + { + listeners = new(initialListenerCount); + onceListeners = new(initialOnceListenerCount); + } + + public Event() + { + listeners = new(4); + onceListeners = new(2); + } + public delegate void EventHandler(TSender sender); } -public class Event(int initialListenerCount = 4, int initialOnceListenerCount = 2) +public class Event { - private readonly List listeners = new(initialListenerCount); - private readonly List onceListeners = new(initialOnceListenerCount); + private readonly List listeners = null!; + private readonly List onceListeners = null!; public void AddListener(EventHandler listener) => listeners.Add(listener); public void AddOnceListener(EventHandler listener) => onceListeners.Add(listener); @@ -105,5 +129,17 @@ public class Event(int initialListenerCount = 4, int initia } } + public Event(int initialListenerCount = 4, int initialOnceListenerCount = 2) + { + listeners = new(initialListenerCount); + onceListeners = new(initialOnceListenerCount); + } + + public Event() + { + listeners = new(4); + onceListeners = new(2); + } + public delegate void EventHandler(TSender sender, TArguments args); }