Compare commits
	
		
			5 Commits
		
	
	
		
			efed24de20
			...
			a4b83679b1
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| a4b83679b1 | |||
| a31b39fd1d | |||
| 0205354202 | |||
| 949dfeb3d9 | |||
| 620ef911fa | 
@@ -5,6 +5,12 @@ using Engine.Core.Debug;
 | 
			
		||||
 | 
			
		||||
namespace Engine.Core;
 | 
			
		||||
 | 
			
		||||
// TODO!: every reverse loop has a chance to have more than 1 unsubscription,
 | 
			
		||||
// for (int i = listeners.Count - 1; i >= 0; i--) 
 | 
			
		||||
// can be replaced with 
 | 
			
		||||
// for (int i = listeners.Count - 1; i >= 0; i = Math.Min(i - 1, listeners.Count - 1))
 | 
			
		||||
// but this would causes possible double calls on already called callbacks, find a better method.
 | 
			
		||||
 | 
			
		||||
/// <summary>
 | 
			
		||||
/// Represents a simple event with no parameters.
 | 
			
		||||
/// <para>Example usage:</para> 
 | 
			
		||||
 
 | 
			
		||||
@@ -17,8 +17,8 @@ public class UniverseEntranceManager : Behaviour
 | 
			
		||||
    {
 | 
			
		||||
        enterUniverses.Assign(universe);
 | 
			
		||||
 | 
			
		||||
        foreach (IUniverseObject universeObject in Universe.UniverseObjects)
 | 
			
		||||
            OnUniverseObjectRegistered(Universe, new(universeObject));
 | 
			
		||||
        foreach (IUniverseObject universeObject in universe.UniverseObjects)
 | 
			
		||||
            OnUniverseObjectRegistered(universe, new(universeObject));
 | 
			
		||||
 | 
			
		||||
        universe.OnUniverseObjectRegistered.AddListener(OnUniverseObjectRegistered);
 | 
			
		||||
        universe.OnUniverseObjectUnRegistered.AddListener(OnUniverseObjectUnRegistered);
 | 
			
		||||
@@ -28,8 +28,8 @@ public class UniverseEntranceManager : Behaviour
 | 
			
		||||
    {
 | 
			
		||||
        enterUniverses.Unassign();
 | 
			
		||||
 | 
			
		||||
        foreach (IUniverseObject universeObject in Universe.UniverseObjects)
 | 
			
		||||
            OnUniverseObjectUnRegistered(Universe, new(universeObject));
 | 
			
		||||
        foreach (IUniverseObject universeObject in universe.UniverseObjects)
 | 
			
		||||
            OnUniverseObjectUnRegistered(universe, new(universeObject));
 | 
			
		||||
 | 
			
		||||
        universe.OnUniverseObjectRegistered.RemoveListener(OnUniverseObjectRegistered);
 | 
			
		||||
        universe.OnUniverseObjectUnRegistered.RemoveListener(OnUniverseObjectUnRegistered);
 | 
			
		||||
 
 | 
			
		||||
@@ -120,8 +120,8 @@ public class Universe : BaseEntity, IUniverse
 | 
			
		||||
    protected override void FinalizeInternal()
 | 
			
		||||
    {
 | 
			
		||||
        base.FinalizeInternal();
 | 
			
		||||
        for (int i = UniverseObjects.Count; i >= 0; i--)
 | 
			
		||||
            UniverseObjects[i].Finalize();
 | 
			
		||||
        for (int i = UniverseObjects.Count - 1; i >= 0; i--)
 | 
			
		||||
            Remove(UniverseObjects[i]);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void Update(UniverseTime engineTime)
 | 
			
		||||
 
 | 
			
		||||
@@ -100,14 +100,14 @@ public class UniverseObject : BaseEntity, IUniverseObject
 | 
			
		||||
        return true;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void AddChild(IUniverseObject parent)
 | 
			
		||||
    public void AddChild(IUniverseObject child)
 | 
			
		||||
    {
 | 
			
		||||
        if (_children.Contains(parent))
 | 
			
		||||
        if (_children.Contains(child))
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
        _children.Add(parent);
 | 
			
		||||
        parent.Parent = this;
 | 
			
		||||
        OnChildrenAdded?.Invoke(this, new(parent));
 | 
			
		||||
        _children.Add(child);
 | 
			
		||||
        child.Parent = this;
 | 
			
		||||
        OnChildrenAdded?.Invoke(this, new(child));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void RemoveChild(IUniverseObject child)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user