mirror of
https://github.com/space-wizards/RobustToolbox.git
synced 2026-02-15 03:30:53 +01:00
Unified those messy FrameEventArgs.
This commit is contained in:
@@ -34,6 +34,7 @@ using Robust.Shared.IoC;
|
||||
using Robust.Shared.Localization;
|
||||
using Robust.Shared.Log;
|
||||
using Robust.Shared.Prototypes;
|
||||
using Robust.Shared.Timing;
|
||||
using Robust.Shared.Utility;
|
||||
|
||||
namespace Robust.Client
|
||||
@@ -205,33 +206,31 @@ namespace Robust.Client
|
||||
_mainLoop.Running = false;
|
||||
}
|
||||
|
||||
private void Update(float frameTime)
|
||||
private void Update(FrameEventArgs frameEventArgs)
|
||||
{
|
||||
var eventArgs = new ProcessFrameEventArgs(frameTime);
|
||||
_networkManager.ProcessPackets();
|
||||
_modLoader.BroadcastUpdate(ModUpdateLevel.PreEngine, eventArgs.Elapsed);
|
||||
_timerManager.UpdateTimers(frameTime);
|
||||
_modLoader.BroadcastUpdate(ModUpdateLevel.PreEngine, frameEventArgs);
|
||||
_timerManager.UpdateTimers(frameEventArgs);
|
||||
_taskManager.ProcessPendingTasks();
|
||||
_userInterfaceManager.Update(eventArgs);
|
||||
_stateManager.Update(eventArgs);
|
||||
_userInterfaceManager.Update(frameEventArgs);
|
||||
_stateManager.Update(frameEventArgs);
|
||||
|
||||
if (_client.RunLevel >= ClientRunLevel.Connected)
|
||||
{
|
||||
_gameStateManager.ApplyGameState();
|
||||
}
|
||||
|
||||
_modLoader.BroadcastUpdate(ModUpdateLevel.PostEngine, eventArgs.Elapsed);
|
||||
_modLoader.BroadcastUpdate(ModUpdateLevel.PostEngine, frameEventArgs);
|
||||
}
|
||||
|
||||
private void _frameProcessMain(float delta)
|
||||
private void _frameProcessMain(FrameEventArgs frameEventArgs)
|
||||
{
|
||||
var eventArgs = new RenderFrameEventArgs(delta);
|
||||
_clyde.FrameProcess(eventArgs);
|
||||
_modLoader.BroadcastUpdate(ModUpdateLevel.FramePreEngine, eventArgs.Elapsed);
|
||||
_stateManager.FrameUpdate(eventArgs);
|
||||
_overlayManager.FrameUpdate(eventArgs);
|
||||
_userInterfaceManager.FrameUpdate(eventArgs);
|
||||
_modLoader.BroadcastUpdate(ModUpdateLevel.FramePostEngine, eventArgs.Elapsed);
|
||||
_clyde.FrameProcess(frameEventArgs);
|
||||
_modLoader.BroadcastUpdate(ModUpdateLevel.FramePreEngine, frameEventArgs);
|
||||
_stateManager.FrameUpdate(frameEventArgs);
|
||||
_overlayManager.FrameUpdate(frameEventArgs);
|
||||
_userInterfaceManager.FrameUpdate(frameEventArgs);
|
||||
_modLoader.BroadcastUpdate(ModUpdateLevel.FramePostEngine, frameEventArgs);
|
||||
}
|
||||
|
||||
internal static void SetupLogging(ILogManager logManager)
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
using System;
|
||||
|
||||
namespace Robust.Client
|
||||
{
|
||||
// This is probably a terrible folder to put this but I can't think of anything else.
|
||||
public class FrameEventArgs : EventArgs
|
||||
{
|
||||
public float Elapsed { get; }
|
||||
|
||||
public FrameEventArgs(float elapsed)
|
||||
{
|
||||
Elapsed = elapsed;
|
||||
}
|
||||
}
|
||||
|
||||
public class ProcessFrameEventArgs : FrameEventArgs
|
||||
{
|
||||
public ProcessFrameEventArgs(float elapsed) : base(elapsed) { }
|
||||
}
|
||||
|
||||
public class RenderFrameEventArgs : FrameEventArgs
|
||||
{
|
||||
public RenderFrameEventArgs(float elapsed) : base(elapsed) { }
|
||||
}
|
||||
}
|
||||
@@ -59,7 +59,7 @@ namespace Robust.Client
|
||||
{
|
||||
if (_mainLoop.Running)
|
||||
{
|
||||
Update(args.DeltaSeconds);
|
||||
Update(args);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -75,7 +75,7 @@ namespace Robust.Client
|
||||
{
|
||||
if (_mainLoop.Running)
|
||||
{
|
||||
_clyde.ProcessInput(new FrameEventArgs(args.DeltaSeconds));
|
||||
_clyde.ProcessInput(args);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -83,7 +83,7 @@ namespace Robust.Client
|
||||
{
|
||||
if (_mainLoop.Running)
|
||||
{
|
||||
_frameProcessMain(args.DeltaSeconds);
|
||||
_frameProcessMain(args);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -70,7 +70,7 @@ namespace Robust.Client.GameStates
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
internal override void FrameUpdate(RenderFrameEventArgs args)
|
||||
internal override void FrameUpdate(FrameEventArgs args)
|
||||
{
|
||||
base.FrameUpdate(args);
|
||||
|
||||
|
||||
@@ -28,6 +28,7 @@ using Robust.Shared.Utility;
|
||||
using Matrix3 = Robust.Shared.Maths.Matrix3;
|
||||
using Vector2 = Robust.Shared.Maths.Vector2;
|
||||
using Vector3 = Robust.Shared.Maths.Vector3;
|
||||
using FrameEventArgs = Robust.Shared.Timing.FrameEventArgs;
|
||||
|
||||
namespace Robust.Client.Graphics.Clyde
|
||||
{
|
||||
@@ -123,9 +124,9 @@ namespace Robust.Client.Graphics.Clyde
|
||||
ReloadConfig();
|
||||
}
|
||||
|
||||
public void FrameProcess(RenderFrameEventArgs eventArgs)
|
||||
public void FrameProcess(FrameEventArgs eventArgs)
|
||||
{
|
||||
_renderTime += eventArgs.Elapsed;
|
||||
_renderTime += eventArgs.DeltaSeconds;
|
||||
_updateAudio();
|
||||
}
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ using Robust.Client.Audio;
|
||||
using Robust.Client.Graphics.Shaders;
|
||||
using Robust.Client.Interfaces.Graphics;
|
||||
using Robust.Shared.Maths;
|
||||
using Robust.Shared.Timing;
|
||||
using SixLabors.ImageSharp;
|
||||
using SixLabors.ImageSharp.PixelFormats;
|
||||
|
||||
@@ -43,7 +44,7 @@ namespace Robust.Client.Graphics.Clyde
|
||||
// Nada.
|
||||
}
|
||||
|
||||
public void FrameProcess(RenderFrameEventArgs eventArgs)
|
||||
public void FrameProcess(FrameEventArgs eventArgs)
|
||||
{
|
||||
// Nada.
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ using System.Collections.Generic;
|
||||
using JetBrains.Annotations;
|
||||
using Robust.Client.Graphics.Clyde;
|
||||
using Robust.Client.Interfaces.Graphics;
|
||||
using Robust.Shared.Timing;
|
||||
|
||||
namespace Robust.Client.Graphics.Overlays
|
||||
{
|
||||
@@ -75,7 +76,7 @@ namespace Robust.Client.Graphics.Overlays
|
||||
_isDirty = true;
|
||||
}
|
||||
|
||||
internal virtual void FrameUpdate(RenderFrameEventArgs args)
|
||||
internal virtual void FrameUpdate(FrameEventArgs args)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ using Robust.Shared.GameObjects;
|
||||
using Robust.Shared.IoC;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Robust.Shared.Timing;
|
||||
using Robust.Shared.Utility;
|
||||
|
||||
namespace Robust.Client.Graphics.Overlays
|
||||
@@ -12,7 +13,7 @@ namespace Robust.Client.Graphics.Overlays
|
||||
{
|
||||
private readonly Dictionary<string, Overlay> _overlays = new Dictionary<string, Overlay>();
|
||||
|
||||
public void FrameUpdate(RenderFrameEventArgs args)
|
||||
public void FrameUpdate(FrameEventArgs args)
|
||||
{
|
||||
foreach (var overlay in _overlays.Values)
|
||||
{
|
||||
|
||||
@@ -9,6 +9,7 @@ using Robust.Client.Graphics.Shaders;
|
||||
using Robust.Client.Interfaces.Input;
|
||||
using Robust.Shared.Interfaces.GameObjects;
|
||||
using Robust.Shared.Maths;
|
||||
using Robust.Shared.Timing;
|
||||
|
||||
namespace Robust.Client.Interfaces.Graphics
|
||||
{
|
||||
@@ -41,7 +42,7 @@ namespace Robust.Client.Interfaces.Graphics
|
||||
{
|
||||
// Basic main loop hooks.
|
||||
void Render();
|
||||
void FrameProcess(RenderFrameEventArgs eventArgs);
|
||||
void FrameProcess(FrameEventArgs eventArgs);
|
||||
void ProcessInput(FrameEventArgs frameEventArgs);
|
||||
|
||||
// Init.
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using System.Collections.Generic;
|
||||
using JetBrains.Annotations;
|
||||
using Robust.Client.Graphics.Overlays;
|
||||
using Robust.Shared.Timing;
|
||||
|
||||
namespace Robust.Client.Interfaces.Graphics.Overlays
|
||||
{
|
||||
@@ -22,6 +23,6 @@ namespace Robust.Client.Interfaces.Graphics.Overlays
|
||||
|
||||
internal interface IOverlayManagerInternal : IOverlayManager
|
||||
{
|
||||
void FrameUpdate(RenderFrameEventArgs args);
|
||||
void FrameUpdate(FrameEventArgs args);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ using Robust.Client.Placement;
|
||||
using Robust.Shared;
|
||||
using Robust.Shared.Enums;
|
||||
using Robust.Shared.Map;
|
||||
using Robust.Shared.Timing;
|
||||
|
||||
namespace Robust.Client.Interfaces.Placement
|
||||
{
|
||||
@@ -21,6 +22,6 @@ namespace Robust.Client.Interfaces.Placement
|
||||
void Clear();
|
||||
void ToggleEraser();
|
||||
|
||||
void FrameUpdate(RenderFrameEventArgs e);
|
||||
void FrameUpdate(FrameEventArgs e);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using Robust.Client.Input;
|
||||
using System;
|
||||
using Robust.Shared.Timing;
|
||||
|
||||
namespace Robust.Client.Interfaces.State
|
||||
{
|
||||
@@ -9,8 +10,8 @@ namespace Robust.Client.Interfaces.State
|
||||
|
||||
Client.State.State CurrentState { get; }
|
||||
void RequestStateChange<T>() where T : Client.State.State, new();
|
||||
void Update(ProcessFrameEventArgs e);
|
||||
void FrameUpdate(RenderFrameEventArgs e);
|
||||
void Update(FrameEventArgs e);
|
||||
void FrameUpdate(FrameEventArgs e);
|
||||
void MouseUp(MouseButtonEventArgs e);
|
||||
void MouseDown(MouseButtonEventArgs e);
|
||||
void MouseMove(MouseMoveEventArgs e);
|
||||
|
||||
@@ -3,6 +3,7 @@ using Robust.Client.Input;
|
||||
using Robust.Client.Interfaces.Graphics;
|
||||
using Robust.Client.UserInterface;
|
||||
using Robust.Shared.Maths;
|
||||
using Robust.Shared.Timing;
|
||||
|
||||
namespace Robust.Client.Interfaces.UserInterface
|
||||
{
|
||||
@@ -71,9 +72,9 @@ namespace Robust.Client.Interfaces.UserInterface
|
||||
void Initialize();
|
||||
void InitializeTesting();
|
||||
|
||||
void Update(ProcessFrameEventArgs args);
|
||||
void Update(FrameEventArgs args);
|
||||
|
||||
void FrameUpdate(RenderFrameEventArgs args);
|
||||
void FrameUpdate(FrameEventArgs args);
|
||||
|
||||
void MouseDown(MouseButtonEventArgs args);
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@ using Robust.Client.Player;
|
||||
using Robust.Shared.Input;
|
||||
using Robust.Shared.Utility;
|
||||
using Robust.Shared.Serialization;
|
||||
using Robust.Shared.Timing;
|
||||
|
||||
namespace Robust.Client.Placement
|
||||
{
|
||||
@@ -474,7 +475,7 @@ namespace Robust.Client.Placement
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public void FrameUpdate(RenderFrameEventArgs e)
|
||||
public void FrameUpdate(FrameEventArgs e)
|
||||
{
|
||||
if (!CurrentMousePosition(out var mouseScreen))
|
||||
return;
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using Robust.Client.Input;
|
||||
using Robust.Shared.Timing;
|
||||
|
||||
namespace Robust.Client.State
|
||||
{
|
||||
@@ -18,9 +19,9 @@ namespace Robust.Client.State
|
||||
/// <summary>
|
||||
/// Update the contents of this screen.
|
||||
/// </summary>
|
||||
public virtual void Update(ProcessFrameEventArgs e) { }
|
||||
public virtual void Update(FrameEventArgs e) { }
|
||||
|
||||
public virtual void FrameUpdate(RenderFrameEventArgs e) { }
|
||||
public virtual void FrameUpdate(FrameEventArgs e) { }
|
||||
|
||||
#region Events
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ using Robust.Client.Interfaces.State;
|
||||
using Robust.Shared.Log;
|
||||
using System;
|
||||
using Robust.Shared.IoC;
|
||||
using Robust.Shared.Timing;
|
||||
|
||||
namespace Robust.Client.State
|
||||
{
|
||||
@@ -17,12 +18,12 @@ namespace Robust.Client.State
|
||||
|
||||
#region Updates & Statechanges
|
||||
|
||||
public void Update(ProcessFrameEventArgs e)
|
||||
public void Update(FrameEventArgs e)
|
||||
{
|
||||
CurrentState?.Update(e);
|
||||
}
|
||||
|
||||
public void FrameUpdate(RenderFrameEventArgs e)
|
||||
public void FrameUpdate(FrameEventArgs e)
|
||||
{
|
||||
CurrentState?.FrameUpdate(e);
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ using Robust.Shared.Interfaces.Map;
|
||||
using Robust.Shared.Interfaces.Timing;
|
||||
using Robust.Shared.IoC;
|
||||
using Robust.Shared.Map;
|
||||
using Robust.Shared.Timing;
|
||||
|
||||
namespace Robust.Client.State.States
|
||||
{
|
||||
@@ -49,17 +50,17 @@ namespace Robust.Client.State.States
|
||||
inputManager.KeyBindStateChanged -= OnKeyBindStateChanged;
|
||||
}
|
||||
|
||||
public override void Update(ProcessFrameEventArgs e)
|
||||
public override void Update(FrameEventArgs e)
|
||||
{
|
||||
_componentManager.CullRemovedComponents();
|
||||
_entityManager.Update(e.Elapsed);
|
||||
playerManager.Update(e.Elapsed);
|
||||
_entityManager.Update(e.DeltaSeconds);
|
||||
playerManager.Update(e.DeltaSeconds);
|
||||
}
|
||||
|
||||
public override void FrameUpdate(RenderFrameEventArgs e)
|
||||
public override void FrameUpdate(FrameEventArgs e)
|
||||
{
|
||||
placementManager.FrameUpdate(e);
|
||||
_entityManager.FrameUpdate(e.Elapsed);
|
||||
_entityManager.FrameUpdate(e.DeltaSeconds);
|
||||
|
||||
var mousePosWorld = eyeManager.ScreenToWorld(new ScreenCoordinates(inputManager.MouseScreenPosition));
|
||||
var entityToClick = GetEntityUnderPosition(mousePosWorld);
|
||||
|
||||
@@ -9,6 +9,7 @@ using Robust.Client.Interfaces.UserInterface;
|
||||
using Robust.Client.UserInterface.Controls;
|
||||
using Robust.Shared.IoC;
|
||||
using Robust.Shared.Maths;
|
||||
using Robust.Shared.Timing;
|
||||
using Robust.Shared.Utility;
|
||||
using Robust.Shared.ViewVariables;
|
||||
|
||||
@@ -1716,7 +1717,7 @@ namespace Robust.Client.UserInterface
|
||||
Both
|
||||
}
|
||||
|
||||
internal void DoUpdate(ProcessFrameEventArgs args)
|
||||
internal void DoUpdate(FrameEventArgs args)
|
||||
{
|
||||
Update(args);
|
||||
foreach (var child in Children)
|
||||
@@ -1728,11 +1729,11 @@ namespace Robust.Client.UserInterface
|
||||
/// <summary>
|
||||
/// This is called every process frame.
|
||||
/// </summary>
|
||||
protected virtual void Update(ProcessFrameEventArgs args)
|
||||
protected virtual void Update(FrameEventArgs args)
|
||||
{
|
||||
}
|
||||
|
||||
internal void DoFrameUpdate(RenderFrameEventArgs args)
|
||||
internal void DoFrameUpdate(FrameEventArgs args)
|
||||
{
|
||||
FrameUpdate(args);
|
||||
foreach (var child in Children)
|
||||
@@ -1744,7 +1745,7 @@ namespace Robust.Client.UserInterface
|
||||
/// <summary>
|
||||
/// This is called before every render frame.
|
||||
/// </summary>
|
||||
protected virtual void FrameUpdate(RenderFrameEventArgs args)
|
||||
protected virtual void FrameUpdate(FrameEventArgs args)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ using Robust.Client.Input;
|
||||
using Robust.Client.Interfaces.UserInterface;
|
||||
using Robust.Shared.IoC;
|
||||
using Robust.Shared.Maths;
|
||||
using Robust.Shared.Timing;
|
||||
|
||||
namespace Robust.Client.UserInterface.Controls
|
||||
{
|
||||
@@ -196,11 +197,11 @@ namespace Robust.Client.UserInterface.Controls
|
||||
}
|
||||
}
|
||||
|
||||
protected override void FrameUpdate(RenderFrameEventArgs args)
|
||||
protected override void FrameUpdate(FrameEventArgs args)
|
||||
{
|
||||
base.FrameUpdate(args);
|
||||
|
||||
_cursorBlinkTimer -= args.Elapsed;
|
||||
_cursorBlinkTimer -= args.DeltaSeconds;
|
||||
if (_cursorBlinkTimer <= 0)
|
||||
{
|
||||
_cursorBlinkTimer += BlinkTime;
|
||||
|
||||
@@ -9,6 +9,7 @@ using Robust.Client.Interfaces.Console;
|
||||
using Robust.Client.UserInterface.Controls;
|
||||
using Robust.Shared.Interfaces.Resources;
|
||||
using Robust.Shared.Maths;
|
||||
using Robust.Shared.Timing;
|
||||
using Robust.Shared.Utility;
|
||||
|
||||
namespace Robust.Client.UserInterface.CustomControls
|
||||
@@ -81,7 +82,7 @@ namespace Robust.Client.UserInterface.CustomControls
|
||||
_loadHistoryFromDisk();
|
||||
}
|
||||
|
||||
protected override void Update(ProcessFrameEventArgs args)
|
||||
protected override void Update(FrameEventArgs args)
|
||||
{
|
||||
base.Update(args);
|
||||
|
||||
|
||||
@@ -14,6 +14,7 @@ using Robust.Client.Player;
|
||||
using Robust.Client.State.States;
|
||||
using Robust.Shared.Interfaces.GameObjects;
|
||||
using Robust.Shared.Interfaces.Map;
|
||||
using Robust.Shared.Timing;
|
||||
using Robust.Shared.Utility;
|
||||
|
||||
namespace Robust.Client.UserInterface.CustomControls
|
||||
@@ -77,7 +78,7 @@ namespace Robust.Client.UserInterface.CustomControls
|
||||
MouseFilter = contents.MouseFilter = MouseFilterMode.Ignore;
|
||||
}
|
||||
|
||||
protected override void FrameUpdate(RenderFrameEventArgs args)
|
||||
protected override void FrameUpdate(FrameEventArgs args)
|
||||
{
|
||||
if (!VisibleInTree)
|
||||
{
|
||||
|
||||
@@ -2,6 +2,7 @@ using System;
|
||||
using Robust.Client.Graphics.Drawing;
|
||||
using Robust.Client.UserInterface.Controls;
|
||||
using Robust.Shared.Maths;
|
||||
using Robust.Shared.Timing;
|
||||
|
||||
namespace Robust.Client.UserInterface.CustomControls
|
||||
{
|
||||
@@ -34,7 +35,7 @@ namespace Robust.Client.UserInterface.CustomControls
|
||||
MouseFilter = _label.MouseFilter = MouseFilterMode.Ignore;
|
||||
}
|
||||
|
||||
protected override void FrameUpdate(RenderFrameEventArgs args)
|
||||
protected override void FrameUpdate(FrameEventArgs args)
|
||||
{
|
||||
base.FrameUpdate(args);
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ using Robust.Client.UserInterface.Controls;
|
||||
using Robust.Shared.Interfaces.Network;
|
||||
using Robust.Shared.Interfaces.Timing;
|
||||
using Robust.Shared.Maths;
|
||||
using Robust.Shared.Timing;
|
||||
using Robust.Shared.Utility;
|
||||
|
||||
namespace Robust.Client.UserInterface.CustomControls
|
||||
@@ -65,7 +66,7 @@ namespace Robust.Client.UserInterface.CustomControls
|
||||
MouseFilter = contents.MouseFilter = MouseFilterMode.Ignore;
|
||||
}
|
||||
|
||||
protected override void Update(ProcessFrameEventArgs args)
|
||||
protected override void Update(FrameEventArgs args)
|
||||
{
|
||||
base.Update(args);
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ using Robust.Client.ResourceManagement;
|
||||
using Robust.Client.UserInterface.Controls;
|
||||
using Robust.Shared.Interfaces.Timing;
|
||||
using Robust.Shared.Maths;
|
||||
using Robust.Shared.Timing;
|
||||
using Robust.Shared.Utility;
|
||||
|
||||
namespace Robust.Client.UserInterface.CustomControls
|
||||
@@ -50,7 +51,7 @@ namespace Robust.Client.UserInterface.CustomControls
|
||||
SizeFlagsHorizontal = SizeFlags.None;
|
||||
}
|
||||
|
||||
protected override void Update(ProcessFrameEventArgs args)
|
||||
protected override void Update(FrameEventArgs args)
|
||||
{
|
||||
base.Update(args);
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using Robust.Client.UserInterface.Controls;
|
||||
using Robust.Shared.Interfaces.Timing;
|
||||
using Robust.Shared.Maths;
|
||||
using Robust.Shared.Timing;
|
||||
|
||||
namespace Robust.Client.UserInterface.CustomControls
|
||||
{
|
||||
@@ -24,7 +25,7 @@ namespace Robust.Client.UserInterface.CustomControls
|
||||
MouseFilter = MouseFilterMode.Ignore;
|
||||
}
|
||||
|
||||
protected override void Update(ProcessFrameEventArgs args)
|
||||
protected override void Update(FrameEventArgs args)
|
||||
{
|
||||
if (!VisibleInTree)
|
||||
{
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using Robust.Client.Graphics.Drawing;
|
||||
using Robust.Shared.Interfaces.Timing;
|
||||
using Robust.Shared.Maths;
|
||||
using Robust.Shared.Timing;
|
||||
|
||||
namespace Robust.Client.UserInterface.CustomControls
|
||||
{
|
||||
@@ -52,7 +53,7 @@ namespace Robust.Client.UserInterface.CustomControls
|
||||
return (TrackedFrames * FrameWidth, FrameHeight * 2);
|
||||
}
|
||||
|
||||
protected override void FrameUpdate(RenderFrameEventArgs args)
|
||||
protected override void FrameUpdate(FrameEventArgs args)
|
||||
{
|
||||
_frameTimes[_frameIndex] = (float)_gameTiming.RealFrameTime.TotalSeconds;
|
||||
_frameIndex = (_frameIndex + 1) % TrackedFrames;
|
||||
|
||||
@@ -3,6 +3,7 @@ using Robust.Client.Graphics.Drawing;
|
||||
using Robust.Client.UserInterface.Controls;
|
||||
using Robust.Shared.Log;
|
||||
using Robust.Shared.Maths;
|
||||
using Robust.Shared.Timing;
|
||||
|
||||
namespace Robust.Client.UserInterface.CustomControls
|
||||
{
|
||||
@@ -375,7 +376,7 @@ namespace Robust.Client.UserInterface.CustomControls
|
||||
}
|
||||
|
||||
// Prevent window headers from getting off screen due to game window resizes.
|
||||
protected override void Update(ProcessFrameEventArgs args)
|
||||
protected override void Update(FrameEventArgs args)
|
||||
{
|
||||
var (spaceX, spaceY) = Parent.Size;
|
||||
if (Position.Y > spaceY)
|
||||
|
||||
@@ -20,6 +20,7 @@ using Robust.Shared.Interfaces.Resources;
|
||||
using Robust.Shared.Interfaces.Timing;
|
||||
using Robust.Shared.IoC;
|
||||
using Robust.Shared.Maths;
|
||||
using Robust.Shared.Timing;
|
||||
|
||||
namespace Robust.Client.UserInterface
|
||||
{
|
||||
@@ -138,16 +139,16 @@ namespace Robust.Client.UserInterface
|
||||
RootControl?.Dispose();
|
||||
}
|
||||
|
||||
public void Update(ProcessFrameEventArgs args)
|
||||
public void Update(FrameEventArgs args)
|
||||
{
|
||||
RootControl.DoUpdate(args);
|
||||
}
|
||||
|
||||
public void FrameUpdate(RenderFrameEventArgs args)
|
||||
public void FrameUpdate(FrameEventArgs args)
|
||||
{
|
||||
RootControl.DoFrameUpdate(args);
|
||||
|
||||
_tooltipTimer -= args.Elapsed;
|
||||
_tooltipTimer -= args.DeltaSeconds;
|
||||
if (_tooltipTimer <= 0)
|
||||
{
|
||||
_showTooltip();
|
||||
|
||||
@@ -17,7 +17,6 @@ using Robust.Shared.IoC;
|
||||
using Robust.Shared.Localization;
|
||||
using Robust.Shared.Log;
|
||||
using Robust.Shared.Timing;
|
||||
using FrameEventArgs = Robust.Client.FrameEventArgs;
|
||||
|
||||
namespace Robust.Lite
|
||||
{
|
||||
@@ -108,7 +107,7 @@ namespace Robust.Lite
|
||||
{
|
||||
if (_mainLoop.Running)
|
||||
{
|
||||
ProcessUpdate(args.DeltaSeconds);
|
||||
ProcessUpdate(args);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -124,7 +123,7 @@ namespace Robust.Lite
|
||||
{
|
||||
if (_mainLoop.Running)
|
||||
{
|
||||
_clyde.ProcessInput(new FrameEventArgs(args.DeltaSeconds));
|
||||
_clyde.ProcessInput(args);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -132,28 +131,24 @@ namespace Robust.Lite
|
||||
{
|
||||
if (_mainLoop.Running)
|
||||
{
|
||||
RenderFrameProcess(args.DeltaSeconds);
|
||||
RenderFrameProcess(args);
|
||||
}
|
||||
};
|
||||
|
||||
_mainLoop.Run();
|
||||
}
|
||||
|
||||
private void RenderFrameProcess(float delta)
|
||||
private void RenderFrameProcess(FrameEventArgs frameEventArgs)
|
||||
{
|
||||
var frameEventArgs = new RenderFrameEventArgs(delta);
|
||||
|
||||
_userInterfaceManager.FrameUpdate(frameEventArgs);
|
||||
_clyde.FrameProcess(frameEventArgs);
|
||||
}
|
||||
|
||||
private void ProcessUpdate(float delta)
|
||||
private void ProcessUpdate(FrameEventArgs frameEventArgs)
|
||||
{
|
||||
var eventArgs = new ProcessFrameEventArgs(delta);
|
||||
|
||||
_timerManager.UpdateTimers(delta);
|
||||
_timerManager.UpdateTimers(frameEventArgs);
|
||||
_taskManager.ProcessPendingTasks();
|
||||
_userInterfaceManager.Update(eventArgs);
|
||||
_userInterfaceManager.Update(frameEventArgs);
|
||||
}
|
||||
|
||||
public void KeyDown(KeyEventArgs keyEvent)
|
||||
|
||||
@@ -258,7 +258,7 @@ namespace Robust.Server
|
||||
};
|
||||
}
|
||||
|
||||
_mainLoop.Tick += (sender, args) => Update(args.DeltaSeconds);
|
||||
_mainLoop.Tick += (sender, args) => Update(args);
|
||||
|
||||
// set GameLoop.Running to false to return from this function.
|
||||
_mainLoop.Run();
|
||||
@@ -342,22 +342,22 @@ namespace Robust.Server
|
||||
return bps;
|
||||
}
|
||||
|
||||
private void Update(float frameTime)
|
||||
private void Update(FrameEventArgs frameEventArgs)
|
||||
{
|
||||
UpdateTitle();
|
||||
_systemConsole.Update();
|
||||
|
||||
IoCManager.Resolve<IServerNetManager>().ProcessPackets();
|
||||
|
||||
_modLoader.BroadcastUpdate(ModUpdateLevel.PreEngine, frameTime);
|
||||
_modLoader.BroadcastUpdate(ModUpdateLevel.PreEngine, frameEventArgs);
|
||||
|
||||
timerManager.UpdateTimers(frameTime);
|
||||
timerManager.UpdateTimers(frameEventArgs);
|
||||
_taskManager.ProcessPendingTasks();
|
||||
|
||||
_components.CullRemovedComponents();
|
||||
_entities.Update(frameTime);
|
||||
_entities.Update(frameEventArgs.DeltaSeconds);
|
||||
|
||||
_modLoader.BroadcastUpdate(ModUpdateLevel.PostEngine, frameTime);
|
||||
_modLoader.BroadcastUpdate(ModUpdateLevel.PostEngine, frameEventArgs);
|
||||
|
||||
_stateManager.SendGameStateUpdate();
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using Robust.Shared.Timing;
|
||||
|
||||
namespace Robust.Shared.ContentPack
|
||||
{
|
||||
@@ -22,7 +23,7 @@ namespace Robust.Shared.ContentPack
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void Update(ModUpdateLevel level, float frameTime)
|
||||
public virtual void Update(ModUpdateLevel level, FrameEventArgs frameEventArgs)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Robust.Shared.Interfaces.Resources;
|
||||
using Robust.Shared.Timing;
|
||||
|
||||
namespace Robust.Shared.ContentPack
|
||||
{
|
||||
@@ -26,7 +27,7 @@ namespace Robust.Shared.ContentPack
|
||||
/// <param name="level">New level</param>
|
||||
void BroadcastRunLevel(ModRunLevel level);
|
||||
|
||||
void BroadcastUpdate(ModUpdateLevel level, float frameTime);
|
||||
void BroadcastUpdate(ModUpdateLevel level, FrameEventArgs frameEventArgs);
|
||||
|
||||
/// <summary>
|
||||
/// Tries to load an assembly from a resource manager into the current appdomain.
|
||||
|
||||
@@ -7,6 +7,7 @@ using Robust.Shared.Interfaces.Reflection;
|
||||
using Robust.Shared.Interfaces.Resources;
|
||||
using Robust.Shared.IoC;
|
||||
using Robust.Shared.Log;
|
||||
using Robust.Shared.Timing;
|
||||
using Robust.Shared.Utility;
|
||||
|
||||
namespace Robust.Shared.ContentPack
|
||||
@@ -145,11 +146,11 @@ namespace Robust.Shared.ContentPack
|
||||
}
|
||||
}
|
||||
|
||||
public void BroadcastUpdate(ModUpdateLevel level, float frameTime)
|
||||
public void BroadcastUpdate(ModUpdateLevel level, FrameEventArgs frameEventArgs)
|
||||
{
|
||||
foreach (var entrypoint in _mods.SelectMany(m => m.EntryPoints))
|
||||
{
|
||||
entrypoint.Update(level, frameTime);
|
||||
entrypoint.Update(level, frameEventArgs);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -218,7 +218,7 @@ namespace Robust.Shared.GameObjects
|
||||
private void DeleteComponent(Component component)
|
||||
{
|
||||
var reg = _componentFactory.GetRegistration(component.GetType());
|
||||
|
||||
|
||||
var entityUid = component.Owner.Uid;
|
||||
|
||||
foreach (var refType in reg.References)
|
||||
@@ -428,7 +428,7 @@ namespace Robust.Shared.GameObjects
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
///
|
||||
/// </summary>
|
||||
public class ComponentEventArgs : EventArgs
|
||||
{
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using System.Threading;
|
||||
using Robust.Shared.Timing;
|
||||
using Timer = Robust.Shared.Timers.Timer;
|
||||
|
||||
namespace Robust.Shared.Interfaces.Timers
|
||||
@@ -7,6 +8,6 @@ namespace Robust.Shared.Interfaces.Timers
|
||||
{
|
||||
void AddTimer(Timer timer, CancellationToken cancellationToken = default);
|
||||
|
||||
void UpdateTimers(float frameTime);
|
||||
void UpdateTimers(FrameEventArgs frameEventArgs);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ using System.Collections.Generic;
|
||||
using System.Threading;
|
||||
using Robust.Shared.Exceptions;
|
||||
using Robust.Shared.IoC;
|
||||
using Robust.Shared.Timing;
|
||||
|
||||
namespace Robust.Shared.Timers
|
||||
{
|
||||
@@ -20,7 +21,7 @@ namespace Robust.Shared.Timers
|
||||
_timers.Add((timer, cancellationToken));
|
||||
}
|
||||
|
||||
public void UpdateTimers(float frameTime)
|
||||
public void UpdateTimers(FrameEventArgs frameEventArgs)
|
||||
{
|
||||
// Manual for loop so we can modify the list while enumerating.
|
||||
// ReSharper disable once ForCanBeConvertedToForeach
|
||||
@@ -33,7 +34,7 @@ namespace Robust.Shared.Timers
|
||||
continue;
|
||||
}
|
||||
|
||||
timer.Update(frameTime, _runtimeLog);
|
||||
timer.Update(frameEventArgs.DeltaSeconds, _runtimeLog);
|
||||
}
|
||||
|
||||
_timers.RemoveAll(timer => !timer.Item1.IsActive || timer.Item2.IsCancellationRequested);
|
||||
|
||||
@@ -1,16 +1,14 @@
|
||||
using System;
|
||||
|
||||
namespace Robust.Shared.Timing
|
||||
namespace Robust.Shared.Timing
|
||||
{
|
||||
/// <summary>
|
||||
/// Arguments of the GameLoop frame event.
|
||||
/// </summary>
|
||||
public class FrameEventArgs : EventArgs
|
||||
public readonly struct FrameEventArgs
|
||||
{
|
||||
/// <summary>
|
||||
/// Seconds passed since this event was last called.
|
||||
/// </summary>
|
||||
public float DeltaSeconds { get; protected set; }
|
||||
public float DeltaSeconds { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Constructs an instance of this object.
|
||||
@@ -21,25 +19,4 @@ namespace Robust.Shared.Timing
|
||||
DeltaSeconds = deltaSeconds;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// A mutable version of <see cref="FrameEventArgs"/>.
|
||||
/// </summary>
|
||||
internal class MutableFrameEventArgs : FrameEventArgs
|
||||
{
|
||||
/// <summary>
|
||||
/// Constructs an instance of this object.
|
||||
/// </summary>
|
||||
/// <param name="deltaSeconds">Seconds passed since this event was last called.</param>
|
||||
public MutableFrameEventArgs(float deltaSeconds)
|
||||
: base(deltaSeconds) { }
|
||||
|
||||
/// <summary>
|
||||
/// Sets the seconds passed since this event was last called.
|
||||
/// </summary>
|
||||
public void SetDeltaSeconds(float seconds)
|
||||
{
|
||||
DeltaSeconds = seconds;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -99,8 +99,8 @@ namespace Robust.Shared.Timing
|
||||
|
||||
Running = true;
|
||||
|
||||
var realFrameEvent = new MutableFrameEventArgs(0);
|
||||
var simFrameEvent = new MutableFrameEventArgs(0);
|
||||
FrameEventArgs realFrameEvent;
|
||||
FrameEventArgs simFrameEvent;
|
||||
|
||||
_timing.ResetRealTime();
|
||||
|
||||
@@ -131,7 +131,7 @@ namespace Robust.Shared.Timing
|
||||
}
|
||||
|
||||
_timing.StartFrame();
|
||||
realFrameEvent.SetDeltaSeconds((float)_timing.RealFrameTime.TotalSeconds);
|
||||
realFrameEvent = new FrameEventArgs((float)_timing.RealFrameTime.TotalSeconds);
|
||||
#if RELEASE
|
||||
try
|
||||
#endif
|
||||
@@ -160,7 +160,7 @@ namespace Robust.Shared.Timing
|
||||
continue;
|
||||
|
||||
// update the simulation
|
||||
simFrameEvent.SetDeltaSeconds((float)_timing.FrameTime.TotalSeconds);
|
||||
simFrameEvent = new FrameEventArgs((float)_timing.FrameTime.TotalSeconds);
|
||||
#if RELEASE
|
||||
try
|
||||
{
|
||||
@@ -187,7 +187,8 @@ namespace Robust.Shared.Timing
|
||||
_timing.InSimulation = false;
|
||||
|
||||
// update out of the simulation
|
||||
simFrameEvent.SetDeltaSeconds((float)_timing.FrameTime.TotalSeconds);
|
||||
|
||||
simFrameEvent = new FrameEventArgs((float)_timing.FrameTime.TotalSeconds);
|
||||
#if RELEASE
|
||||
try
|
||||
#endif
|
||||
|
||||
@@ -396,7 +396,6 @@ namespace Robust.UnitTesting
|
||||
|
||||
Tick += (a, b) => Console.WriteLine("tick: {0}", _gameTiming.CurTick);
|
||||
|
||||
var simFrameEvent = new MutableFrameEventArgs(0);
|
||||
_gameTiming.InSimulation = true;
|
||||
|
||||
while (Running)
|
||||
@@ -407,7 +406,7 @@ namespace Robust.UnitTesting
|
||||
{
|
||||
case RunTicksMessage msg:
|
||||
_gameTiming.InSimulation = true;
|
||||
simFrameEvent.SetDeltaSeconds(msg.Delta);
|
||||
var simFrameEvent = new FrameEventArgs(msg.Delta);
|
||||
for (var i = 0; i < msg.Ticks && Running; i++)
|
||||
{
|
||||
_gameTiming.CurTick = new GameTick(_gameTiming.CurTick.Value + 1);
|
||||
|
||||
@@ -7,6 +7,7 @@ using Robust.Shared.Interfaces.Log;
|
||||
using Robust.Shared.Interfaces.Timers;
|
||||
using Robust.Shared.IoC;
|
||||
using Robust.Shared.Log;
|
||||
using Robust.Shared.Timing;
|
||||
using Timer = Robust.Shared.Timers.Timer;
|
||||
|
||||
namespace Robust.UnitTesting.Shared.Timers
|
||||
@@ -38,10 +39,10 @@ namespace Robust.UnitTesting.Shared.Timers
|
||||
Assert.That(fired, Is.False);
|
||||
|
||||
// Set timers ahead 250 ms
|
||||
timerManager.UpdateTimers(0.25f);
|
||||
timerManager.UpdateTimers(new FrameEventArgs(.25f));
|
||||
Assert.That(fired, Is.False);
|
||||
// Another 300ms should do it.
|
||||
timerManager.UpdateTimers(0.30f);
|
||||
timerManager.UpdateTimers(new FrameEventArgs(.30f));
|
||||
Assert.That(fired, Is.True);
|
||||
}
|
||||
|
||||
@@ -61,11 +62,11 @@ namespace Robust.UnitTesting.Shared.Timers
|
||||
Assert.That(ran, Is.False);
|
||||
|
||||
// Set timers ahead 250 ms
|
||||
timerManager.UpdateTimers(0.25f);
|
||||
timerManager.UpdateTimers(new FrameEventArgs(.25f));
|
||||
Assert.That(ran, Is.False);
|
||||
|
||||
// Another 300ms should do it.
|
||||
timerManager.UpdateTimers(0.30f);
|
||||
timerManager.UpdateTimers(new FrameEventArgs(.30f));
|
||||
Assert.That(ran, Is.True);
|
||||
}
|
||||
|
||||
@@ -79,13 +80,13 @@ namespace Robust.UnitTesting.Shared.Timers
|
||||
var ran = false;
|
||||
Timer.Spawn(1000, () => ran = true, cts.Token);
|
||||
|
||||
timerManager.UpdateTimers(0.5f);
|
||||
timerManager.UpdateTimers(new FrameEventArgs(.5f));
|
||||
|
||||
Assert.That(ran, Is.False);
|
||||
|
||||
cts.Cancel();
|
||||
|
||||
timerManager.UpdateTimers(0.6f);
|
||||
timerManager.UpdateTimers(new FrameEventArgs(.6f));
|
||||
|
||||
Assert.That(ran, Is.False);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user