feat: IUniverse.OnTimeChanged event added
This commit is contained in:
@@ -16,6 +16,8 @@ public class Universe : BaseEntity, IUniverse
|
||||
public event IUniverse.UniverseObjectRegisteredEventHandler? OnUniverseObjectRegistered = null;
|
||||
public event IUniverse.UniverseObjectUnRegisteredEventHandler? OnUniverseObjectUnRegistered = null;
|
||||
|
||||
public event IUniverse.TimeScaleChangedEventHandler? OnTimeScaleChanged = null;
|
||||
|
||||
private readonly List<IUniverseObject> _universeObjects = new(Constants.UNIVERSE_OBJECTS_SIZE_INITIAL);
|
||||
private float _timeScale = 1f;
|
||||
|
||||
@@ -26,7 +28,16 @@ public class Universe : BaseEntity, IUniverse
|
||||
public float TimeScale
|
||||
{
|
||||
get => _timeScale;
|
||||
set => _timeScale = value.Max(0f);
|
||||
set
|
||||
{
|
||||
value = value.Max(0f);
|
||||
if (value == _timeScale)
|
||||
return;
|
||||
|
||||
float previousTimeScale = _timeScale;
|
||||
_timeScale = value;
|
||||
OnTimeScaleChanged?.InvokeSafe(this, previousTimeScale);
|
||||
}
|
||||
}
|
||||
|
||||
public void Register(IUniverseObject universeObject)
|
||||
|
Reference in New Issue
Block a user