#nullable enable
+using System;
using System.Threading.Tasks;
using Content.Server.NodeContainer;
using Content.Server.NodeContainer.Nodes;
});
// Exact values can/will be off by a tick, add tolerance for that.
- var tickRate = (float) gameTiming.TickPeriod.TotalSeconds;
- var tickDev = 400 * tickRate * 1.1f;
+ var tickPeriod = (float) gameTiming.TickPeriod.TotalSeconds;
+ var tickDev = 400 * tickPeriod * 1.1f;
server.RunTicks(1);
Assert.That(consumer.ReceivedPower, Is.EqualTo(100).Within(0.1));
});
- server.RunTicks(14);
+ // run for 0.25 seconds (minus the previous tick)
+ var ticks = (int) Math.Round(0.25 * gameTiming.TickRate) - 1;
+ server.RunTicks(ticks);
await server.WaitAssertion(() =>
{
Assert.That(consumer.ReceivedPower, Is.EqualTo(200).Within(tickDev));
});
- server.RunTicks(45);
+
+
+ // run for 0.75 seconds
+ ticks = (int) Math.Round(0.75 * gameTiming.TickRate);
+ server.RunTicks(ticks);
await server.WaitAssertion(() =>
{
});
// Exact values can/will be off by a tick, add tolerance for that.
- var tickRate = (float) gameTiming.TickPeriod.TotalSeconds;
- var tickDev = 400 * tickRate * 1.1f;
+ var tickPeriod = (float) gameTiming.TickPeriod.TotalSeconds;
+ var tickDev = 400 * tickPeriod * 1.1f;
server.RunTicks(1);
Assert.That(consumer.ReceivedPower, Is.EqualTo(100).Within(0.1));
});
- server.RunTicks(14);
+ // run for 0.25 seconds (minus the previous tick)
+ var ticks = (int) Math.Round(0.25 * gameTiming.TickRate) - 1;
+ server.RunTicks(ticks);
await server.WaitAssertion(() =>
{
Assert.That(battery.CurrentCharge, Is.EqualTo(startingCharge - spentExpected).Within(tickDev));
});
- server.RunTicks(45);
+ // run for 0.75 seconds
+ ticks = (int) Math.Round(0.75 * gameTiming.TickRate);
+ server.RunTicks(ticks);
await server.WaitAssertion(() =>
{
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings{NoClient = true, ExtraPrototypes = Prototypes});
var server = pairTracker.Pair.Server;
var mapManager = server.ResolveDependency<IMapManager>();
+ var gameTiming = server.ResolveDependency<IGameTiming>();
var entityManager = server.ResolveDependency<IEntityManager>();
PowerSupplierComponent supplier = default!;
BatteryComponent battery = default!;
netBattery.Efficiency = 0.5f;
});
- server.RunTicks(30); // 60 TPS, 0.5 seconds
+ // run for 0.5 seconds
+ var ticks = (int) Math.Round(0.5 * gameTiming.TickRate);
+ server.RunTicks(ticks);
await server.WaitAssertion(() =>
{
});
// Run some ticks so everything is stable.
- server.RunTicks(60);
+ server.RunTicks(gameTiming.TickRate);
// Exact values can/will be off by a tick, add tolerance for that.
- var tickRate = (float) gameTiming.TickPeriod.TotalSeconds;
- var tickDev = 400 * tickRate * 1.1f;
+ var tickPeriod = (float) gameTiming.TickPeriod.TotalSeconds;
+ var tickDev = 400 * tickPeriod * 1.1f;
await server.WaitAssertion(() =>
{
});
// Run some ticks so everything is stable.
- server.RunTicks(60);
+ server.RunTicks(gameTiming.TickRate);
// Exact values can/will be off by a tick, add tolerance for that.
- var tickRate = (float) gameTiming.TickPeriod.TotalSeconds;
- var tickDev = 400 * tickRate * 1.1f;
+ var tickPeriod = (float) gameTiming.TickPeriod.TotalSeconds;
+ var tickDev = 400 * tickPeriod * 1.1f;
await server.WaitAssertion(() =>
{