chore: get init to only get for events

This commit is contained in:
2025-05-30 20:13:32 +03:00
parent 0d61735ae5
commit 1b123a3cc0
21 changed files with 82 additions and 82 deletions

View File

@@ -5,10 +5,10 @@ namespace Syntriax.Engine.Core;
public class ActiveBehaviourCollector<T> : IBehaviourCollector<T> where T : class, IBehaviour
{
public Event<IBehaviourCollector<T>, IBehaviourCollector<T>.BehaviourCollectedArguments> OnCollected { get; init; } = new();
public Event<IBehaviourCollector<T>, IBehaviourCollector<T>.BehaviourRemovedArguments> OnRemoved { get; init; } = new();
public Event<IHasUniverse> OnUniverseAssigned { get; init; } = new();
public Event<IAssignable>? OnUnassigned { get; init; } = new();
public Event<IBehaviourCollector<T>, IBehaviourCollector<T>.BehaviourCollectedArguments> OnCollected { get; } = new();
public Event<IBehaviourCollector<T>, IBehaviourCollector<T>.BehaviourRemovedArguments> OnRemoved { get; } = new();
public Event<IHasUniverse> OnUniverseAssigned { get; } = new();
public Event<IAssignable>? OnUnassigned { get; } = new();
private readonly Event<IBehaviourController, IBehaviourController.BehaviourAddedArguments>.EventHandler cachedOnBehaviourAdded = null!;
private readonly Event<IBehaviourController, IBehaviourController.BehaviourRemovedArguments>.EventHandler cachedOnBehaviourRemoved = null!;

View File

@@ -4,11 +4,11 @@ namespace Syntriax.Engine.Core;
public abstract class BaseEntity : IEntity
{
public Event<IEntity, IEntity.IdChangedArguments> OnIdChanged { get; init; } = new();
public Event<IInitializable> OnInitialized { get; init; } = new();
public Event<IInitializable> OnFinalized { get; init; } = new();
public Event<IHasStateEnable> OnStateEnableAssigned { get; init; } = new();
public Event<IAssignable> OnUnassigned { get; init; } = new();
public Event<IEntity, IEntity.IdChangedArguments> OnIdChanged { get; } = new();
public Event<IInitializable> OnInitialized { get; } = new();
public Event<IInitializable> OnFinalized { get; } = new();
public Event<IHasStateEnable> OnStateEnableAssigned { get; } = new();
public Event<IAssignable> OnUnassigned { get; } = new();
private IStateEnable _stateEnable = null!;

View File

@@ -3,9 +3,9 @@ namespace Syntriax.Engine.Core;
[System.Diagnostics.DebuggerDisplay("{GetType().Name, nq}, Priority: {Priority}, Initialized: {Initialized}")]
public abstract class BehaviourBase : BaseEntity, IBehaviour
{
public Event<IBehaviour, IBehaviour.PriorityChangedArguments> OnPriorityChanged { get; init; } = new();
public Event<IActive, IActive.ActiveChangedArguments> OnActiveChanged { get; init; } = new();
public Event<IHasBehaviourController> OnBehaviourControllerAssigned { get; init; } = new();
public Event<IBehaviour, IBehaviour.PriorityChangedArguments> OnPriorityChanged { get; } = new();
public Event<IActive, IActive.ActiveChangedArguments> OnActiveChanged { get; } = new();
public Event<IHasBehaviourController> OnBehaviourControllerAssigned { get; } = new();
private readonly Event<IHasUniverseObject>.EventHandler cachedOnUniverseObjectAssigned = null!;
private readonly Event<IActive, IActive.ActiveChangedArguments>.EventHandler cachedOnUniverseObjectActiveChanged = null!;

View File

@@ -5,10 +5,10 @@ namespace Syntriax.Engine.Core;
public class BehaviourCollector<T> : IBehaviourCollector<T> where T : class
{
public Event<IBehaviourCollector<T>, IBehaviourCollector<T>.BehaviourCollectedArguments> OnCollected { get; init; } = new();
public Event<IBehaviourCollector<T>, IBehaviourCollector<T>.BehaviourRemovedArguments> OnRemoved { get; init; } = new();
public Event<IHasUniverse> OnUniverseAssigned { get; init; } = new();
public Event<IAssignable>? OnUnassigned { get; init; } = new();
public Event<IBehaviourCollector<T>, IBehaviourCollector<T>.BehaviourCollectedArguments> OnCollected { get; } = new();
public Event<IBehaviourCollector<T>, IBehaviourCollector<T>.BehaviourRemovedArguments> OnRemoved { get; } = new();
public Event<IHasUniverse> OnUniverseAssigned { get; } = new();
public Event<IAssignable>? OnUnassigned { get; } = new();
private readonly Event<IBehaviourController, IBehaviourController.BehaviourAddedArguments>.EventHandler cachedOnBehaviourAdded = null!;
private readonly Event<IBehaviourController, IBehaviourController.BehaviourRemovedArguments>.EventHandler cachedOnBehaviourRemoved = null!;

View File

@@ -7,9 +7,9 @@ namespace Syntriax.Engine.Core;
[System.Diagnostics.DebuggerDisplay("Behaviour Count: {behaviours.Count}")]
public class BehaviourController : BaseEntity, IBehaviourController
{
public Event<IBehaviourController, IBehaviourController.BehaviourAddedArguments> OnBehaviourAdded { get; init; } = new();
public Event<IBehaviourController, IBehaviourController.BehaviourRemovedArguments> OnBehaviourRemoved { get; init; } = new();
public Event<IHasUniverseObject> OnUniverseObjectAssigned { get; init; } = new();
public Event<IBehaviourController, IBehaviourController.BehaviourAddedArguments> OnBehaviourAdded { get; } = new();
public Event<IBehaviourController, IBehaviourController.BehaviourRemovedArguments> OnBehaviourRemoved { get; } = new();
public Event<IHasUniverseObject> OnUniverseObjectAssigned { get; } = new();
private readonly List<IBehaviour> behaviours = new(Constants.BEHAVIOURS_SIZE_INITIAL);

View File

@@ -2,8 +2,8 @@ namespace Syntriax.Engine.Core;
public class ProgressionTracker : IProgressionTracker
{
public Event<IReadOnlyProgressionTracker, IReadOnlyProgressionTracker.ProgressionUpdatedArguments> OnUpdated { get; init; } = new();
public Event<IReadOnlyProgressionTracker> OnEnded { get; init; } = new();
public Event<IReadOnlyProgressionTracker, IReadOnlyProgressionTracker.ProgressionUpdatedArguments> OnUpdated { get; } = new();
public Event<IReadOnlyProgressionTracker> OnEnded { get; } = new();
public float Progression { get; private set; } = 0f;
public string Status { get; private set; } = "Default";

View File

@@ -18,7 +18,7 @@ public class Shape2D(List<Vector2D> vertices) : IEnumerable<Vector2D>
public static Shape2D Pentagon => CreateNgon(5, Vector2D.Up);
public static Shape2D Hexagon => CreateNgon(6, Vector2D.Right);
public Event<Shape2D> OnShapeUpdated { get; init; } = new();
public Event<Shape2D> OnShapeUpdated { get; } = new();
private List<Vector2D> _vertices = vertices;

View File

@@ -2,9 +2,9 @@ namespace Syntriax.Engine.Core;
public class StateEnable : IStateEnable
{
public Event<IStateEnable, IStateEnable.EnabledChangedArguments> OnEnabledChanged { get; init; } = new();
public Event<IHasEntity> OnEntityAssigned { get; init; } = new();
public Event<IAssignable>? OnUnassigned { get; init; } = new();
public Event<IStateEnable, IStateEnable.EnabledChangedArguments> OnEnabledChanged { get; } = new();
public Event<IHasEntity> OnEntityAssigned { get; } = new();
public Event<IAssignable>? OnUnassigned { get; } = new();
private bool _enabled = true;
private IEntity _entity = null!;

View File

@@ -5,9 +5,9 @@ namespace Syntriax.Engine.Core;
[System.Diagnostics.DebuggerDisplay("Name: {UniverseObject.Name, nq} Position: {Position.ToString(), nq}, Scale: {Scale.ToString(), nq}, Rotation: {Rotation}")]
public class Transform2D : Behaviour, ITransform2D
{
public Event<ITransform2D, ITransform2D.PositionChangedArguments> OnPositionChanged { get; init; } = new();
public Event<ITransform2D, ITransform2D.ScaleChangedArguments> OnScaleChanged { get; init; } = new();
public Event<ITransform2D, ITransform2D.RotationChangedArguments> OnRotationChanged { get; init; } = new();
public Event<ITransform2D, ITransform2D.PositionChangedArguments> OnPositionChanged { get; } = new();
public Event<ITransform2D, ITransform2D.ScaleChangedArguments> OnScaleChanged { get; } = new();
public Event<ITransform2D, ITransform2D.RotationChangedArguments> OnRotationChanged { get; } = new();
private Vector2D _position = Vector2D.Zero;
private Vector2D _scale = Vector2D.One;

View File

@@ -7,15 +7,15 @@ namespace Syntriax.Engine.Core;
[System.Diagnostics.DebuggerDisplay("UniverseObject Count: {_universeObjects.Count}")]
public class Universe : BaseEntity, IUniverse
{
public Event<IUniverse, IUniverse.UpdateArguments> OnPreUpdate { get; init; } = new();
public Event<IUniverse, IUniverse.UpdateArguments> OnUpdate { get; init; } = new();
public Event<IUniverse, IUniverse.UpdateArguments> OnPostUpdate { get; init; } = new();
public Event<IUniverse> OnPreDraw { get; init; } = new();
public Event<IUniverse> OnDraw { get; init; } = new();
public Event<IUniverse> OnPostDraw { get; init; } = new();
public Event<IUniverse, IUniverse.UniverseObjectRegisteredArguments> OnUniverseObjectRegistered { get; init; } = new();
public Event<IUniverse, IUniverse.UniverseObjectUnRegisteredArguments> OnUniverseObjectUnRegistered { get; init; } = new();
public Event<IUniverse, IUniverse.TimeScaleChangedArguments> OnTimeScaleChanged { get; init; } = new();
public Event<IUniverse, IUniverse.UpdateArguments> OnPreUpdate { get; } = new();
public Event<IUniverse, IUniverse.UpdateArguments> OnUpdate { get; } = new();
public Event<IUniverse, IUniverse.UpdateArguments> OnPostUpdate { get; } = new();
public Event<IUniverse> OnPreDraw { get; } = new();
public Event<IUniverse> OnDraw { get; } = new();
public Event<IUniverse> OnPostDraw { get; } = new();
public Event<IUniverse, IUniverse.UniverseObjectRegisteredArguments> OnUniverseObjectRegistered { get; } = new();
public Event<IUniverse, IUniverse.UniverseObjectUnRegisteredArguments> OnUniverseObjectUnRegistered { get; } = new();
public Event<IUniverse, IUniverse.TimeScaleChangedArguments> OnTimeScaleChanged { get; } = new();
private readonly Event<IInitializable>.EventHandler cachedOnUniverseObjectFinalize = null!;
private readonly Event<IUniverseObject, IUniverseObject.ExitedUniverseArguments>.EventHandler cachedOnUniverseObjectExitedUniverse = null!;

View File

@@ -6,15 +6,15 @@ namespace Syntriax.Engine.Core;
[System.Diagnostics.DebuggerDisplay("Name: {Name}, Initialized: {Initialized}")]
public class UniverseObject : BaseEntity, IUniverseObject
{
public Event<IUniverseObject, IUniverseObject.EnteredUniverseArguments> OnEnteredUniverse { get; init; } = new();
public Event<IUniverseObject, IUniverseObject.ExitedUniverseArguments> OnExitedUniverse { get; init; } = new();
public Event<IUniverseObject, IUniverseObject.ParentChangedArguments> OnParentChanged { get; init; } = new();
public Event<IUniverseObject, IUniverseObject.ChildrenAddedArguments> OnChildrenAdded { get; init; } = new();
public Event<IUniverseObject, IUniverseObject.ChildrenRemovedArguments> OnChildrenRemoved { get; init; } = new();
public Event<IUniverseObject, IUniverseObject.EnteredUniverseArguments> OnEnteredUniverse { get; } = new();
public Event<IUniverseObject, IUniverseObject.ExitedUniverseArguments> OnExitedUniverse { get; } = new();
public Event<IUniverseObject, IUniverseObject.ParentChangedArguments> OnParentChanged { get; } = new();
public Event<IUniverseObject, IUniverseObject.ChildrenAddedArguments> OnChildrenAdded { get; } = new();
public Event<IUniverseObject, IUniverseObject.ChildrenRemovedArguments> OnChildrenRemoved { get; } = new();
public Event<IActive, IActive.ActiveChangedArguments> OnActiveChanged { get; init; } = new();
public Event<INameable, INameable.NameChangedArguments> OnNameChanged { get; init; } = new();
public Event<IHasBehaviourController> OnBehaviourControllerAssigned { get; init; } = new();
public Event<IActive, IActive.ActiveChangedArguments> OnActiveChanged { get; } = new();
public Event<INameable, INameable.NameChangedArguments> OnNameChanged { get; } = new();
public Event<IHasBehaviourController> OnBehaviourControllerAssigned { get; } = new();
private string _name = nameof(UniverseObject);
private IUniverse _universe = null!;