Development Merge 2025.10.18 #4
@@ -37,11 +37,21 @@ public interface IUniverse : IEntity, IEnumerable<IUniverseObject>
 | 
				
			|||||||
    /// </summary>
 | 
					    /// </summary>
 | 
				
			||||||
    Event<IUniverse> OnPostDraw { get; }
 | 
					    Event<IUniverse> OnPostDraw { get; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /// <summary>
 | 
				
			||||||
 | 
					    /// Event triggered when a <see cref="IUniverseObject"/> is about to be registered to the <see cref="IUniverse"/>.
 | 
				
			||||||
 | 
					    /// </summary>
 | 
				
			||||||
 | 
					    Event<IUniverse, UniverseObjectRegisteredArguments> OnPreUniverseObjectRegistered { get; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /// <summary>
 | 
					    /// <summary>
 | 
				
			||||||
    /// Event triggered when a <see cref="IUniverseObject"/> is registered to the <see cref="IUniverse"/>.
 | 
					    /// Event triggered when a <see cref="IUniverseObject"/> is registered to the <see cref="IUniverse"/>.
 | 
				
			||||||
    /// </summary>
 | 
					    /// </summary>
 | 
				
			||||||
    Event<IUniverse, UniverseObjectRegisteredArguments> OnUniverseObjectRegistered { get; }
 | 
					    Event<IUniverse, UniverseObjectRegisteredArguments> OnUniverseObjectRegistered { get; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /// <summary>
 | 
				
			||||||
 | 
					    /// Event triggered when a <see cref="IUniverseObject"/> is about to be unregistered from the <see cref="IUniverse"/>.
 | 
				
			||||||
 | 
					    /// </summary>
 | 
				
			||||||
 | 
					    Event<IUniverse, UniverseObjectUnRegisteredArguments> OnPreUniverseObjectUnRegistered { get; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /// <summary>
 | 
					    /// <summary>
 | 
				
			||||||
    /// Event triggered when a <see cref="IUniverseObject"/> is unregistered from the <see cref="IUniverse"/>.
 | 
					    /// Event triggered when a <see cref="IUniverseObject"/> is unregistered from the <see cref="IUniverse"/>.
 | 
				
			||||||
    /// </summary>
 | 
					    /// </summary>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,7 +13,9 @@ public class Universe : BaseEntity, IUniverse
 | 
				
			|||||||
    public Event<IUniverse> OnPreDraw { get; } = new();
 | 
					    public Event<IUniverse> OnPreDraw { get; } = new();
 | 
				
			||||||
    public Event<IUniverse> OnDraw { get; } = new();
 | 
					    public Event<IUniverse> OnDraw { get; } = new();
 | 
				
			||||||
    public Event<IUniverse> OnPostDraw { get; } = new();
 | 
					    public Event<IUniverse> OnPostDraw { get; } = new();
 | 
				
			||||||
 | 
					    public Event<IUniverse, IUniverse.UniverseObjectRegisteredArguments> OnPreUniverseObjectRegistered { get; } = new();
 | 
				
			||||||
    public Event<IUniverse, IUniverse.UniverseObjectRegisteredArguments> OnUniverseObjectRegistered { get; } = new();
 | 
					    public Event<IUniverse, IUniverse.UniverseObjectRegisteredArguments> OnUniverseObjectRegistered { get; } = new();
 | 
				
			||||||
 | 
					    public Event<IUniverse, IUniverse.UniverseObjectUnRegisteredArguments> OnPreUniverseObjectUnRegistered { get; } = new();
 | 
				
			||||||
    public Event<IUniverse, IUniverse.UniverseObjectUnRegisteredArguments> OnUniverseObjectUnRegistered { get; } = new();
 | 
					    public Event<IUniverse, IUniverse.UniverseObjectUnRegisteredArguments> OnUniverseObjectUnRegistered { get; } = new();
 | 
				
			||||||
    public Event<IUniverse, IUniverse.TimeScaleChangedArguments> OnTimeScaleChanged { get; } = new();
 | 
					    public Event<IUniverse, IUniverse.TimeScaleChangedArguments> OnTimeScaleChanged { get; } = new();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -53,6 +55,8 @@ public class Universe : BaseEntity, IUniverse
 | 
				
			|||||||
        if (_universeObjects.Contains(universeObject))
 | 
					        if (_universeObjects.Contains(universeObject))
 | 
				
			||||||
            throw new Exception($"{nameof(IUniverseObject)} named {universeObject.Name} is already registered to the {nameof(Universe)}.");
 | 
					            throw new Exception($"{nameof(IUniverseObject)} named {universeObject.Name} is already registered to the {nameof(Universe)}.");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        OnPreUniverseObjectRegistered?.Invoke(this, new(universeObject));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        universeObject.OnFinalized.AddListener(delegateOnUniverseObjectFinalize);
 | 
					        universeObject.OnFinalized.AddListener(delegateOnUniverseObjectFinalize);
 | 
				
			||||||
        universeObject.OnExitedUniverse.AddListener(delegateOnUniverseObjectExitedUniverse);
 | 
					        universeObject.OnExitedUniverse.AddListener(delegateOnUniverseObjectExitedUniverse);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -88,6 +92,8 @@ public class Universe : BaseEntity, IUniverse
 | 
				
			|||||||
        if (!_universeObjects.Contains(universeObject))
 | 
					        if (!_universeObjects.Contains(universeObject))
 | 
				
			||||||
            throw new Exception($"{nameof(IUniverseObject)} named {universeObject.Name} is not registered to the {nameof(Universe)}.");
 | 
					            throw new Exception($"{nameof(IUniverseObject)} named {universeObject.Name} is not registered to the {nameof(Universe)}.");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        OnPreUniverseObjectUnRegistered?.Invoke(this, new(universeObject));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        universeObject.OnFinalized.RemoveListener(delegateOnUniverseObjectFinalize);
 | 
					        universeObject.OnFinalized.RemoveListener(delegateOnUniverseObjectFinalize);
 | 
				
			||||||
        universeObject.OnExitedUniverse.RemoveListener(delegateOnUniverseObjectExitedUniverse);
 | 
					        universeObject.OnExitedUniverse.RemoveListener(delegateOnUniverseObjectExitedUniverse);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user