Revert "Gamerule Entities" (#15724)
This commit is contained in:
@@ -3,11 +3,12 @@ using System.Threading.Tasks;
|
||||
using Content.Server.GameTicking;
|
||||
using Content.Server.GameTicking.Commands;
|
||||
using Content.Server.GameTicking.Rules;
|
||||
using Content.Server.GameTicking.Rules.Components;
|
||||
using Content.Shared.CCVar;
|
||||
using NUnit.Framework;
|
||||
using Robust.Shared.Configuration;
|
||||
using Robust.Shared.GameObjects;
|
||||
using Robust.Shared.IoC;
|
||||
using Robust.Shared.Prototypes;
|
||||
using Robust.Shared.Timing;
|
||||
|
||||
namespace Content.IntegrationTests.Tests.GameRules
|
||||
@@ -22,7 +23,6 @@ namespace Content.IntegrationTests.Tests.GameRules
|
||||
await using var pairTracker = await PoolManager.GetServerClient();
|
||||
var server = pairTracker.Pair.Server;
|
||||
|
||||
var entityManager = server.ResolveDependency<IEntityManager>();
|
||||
var configManager = server.ResolveDependency<IConfigurationManager>();
|
||||
await server.WaitPost(() =>
|
||||
{
|
||||
@@ -31,17 +31,18 @@ namespace Content.IntegrationTests.Tests.GameRules
|
||||
command.Execute(null, string.Empty, Array.Empty<string>());
|
||||
});
|
||||
|
||||
|
||||
var sGameTicker = server.ResolveDependency<IEntitySystemManager>().GetEntitySystem<GameTicker>();
|
||||
var maxTimeMaxTimeRestartRuleSystem = server.ResolveDependency<IEntitySystemManager>().GetEntitySystem<MaxTimeRestartRuleSystem>();
|
||||
var sGameTiming = server.ResolveDependency<IGameTiming>();
|
||||
|
||||
|
||||
sGameTicker.StartGameRule("MaxTimeRestart", out var ruleEntity);
|
||||
Assert.That(entityManager.TryGetComponent<MaxTimeRestartRuleComponent>(ruleEntity, out var maxTime));
|
||||
|
||||
await server.WaitAssertion(() =>
|
||||
{
|
||||
Assert.That(sGameTicker.RunLevel, Is.EqualTo(GameRunLevel.PreRoundLobby));
|
||||
maxTime.RoundMaxTime = TimeSpan.FromSeconds(3);
|
||||
|
||||
sGameTicker.StartGameRule(IoCManager.Resolve<IPrototypeManager>().Index<GameRulePrototype>(maxTimeMaxTimeRestartRuleSystem.Prototype));
|
||||
maxTimeMaxTimeRestartRuleSystem.RoundMaxTime = TimeSpan.FromSeconds(3);
|
||||
|
||||
sGameTicker.StartRound();
|
||||
});
|
||||
|
||||
@@ -50,7 +51,7 @@ namespace Content.IntegrationTests.Tests.GameRules
|
||||
Assert.That(sGameTicker.RunLevel, Is.EqualTo(GameRunLevel.InRound));
|
||||
});
|
||||
|
||||
var ticks = sGameTiming.TickRate * (int) Math.Ceiling(maxTime.RoundMaxTime.TotalSeconds * 1.1f);
|
||||
var ticks = sGameTiming.TickRate * (int) Math.Ceiling(maxTimeMaxTimeRestartRuleSystem.RoundMaxTime.TotalSeconds * 1.1f);
|
||||
await PoolManager.RunTicksSync(pairTracker.Pair, ticks);
|
||||
|
||||
await server.WaitAssertion(() =>
|
||||
@@ -58,7 +59,7 @@ namespace Content.IntegrationTests.Tests.GameRules
|
||||
Assert.That(sGameTicker.RunLevel, Is.EqualTo(GameRunLevel.PostRound));
|
||||
});
|
||||
|
||||
ticks = sGameTiming.TickRate * (int) Math.Ceiling(maxTime.RoundEndDelay.TotalSeconds * 1.1f);
|
||||
ticks = sGameTiming.TickRate * (int) Math.Ceiling(maxTimeMaxTimeRestartRuleSystem.RoundEndDelay.TotalSeconds * 1.1f);
|
||||
await PoolManager.RunTicksSync(pairTracker.Pair, ticks);
|
||||
|
||||
await server.WaitAssertion(() =>
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
using System.Linq;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Content.Server.GameTicking;
|
||||
using Content.Server.GameTicking.Rules;
|
||||
using NUnit.Framework;
|
||||
using Robust.Shared.GameObjects;
|
||||
using Robust.Shared.Prototypes;
|
||||
|
||||
namespace Content.IntegrationTests.Tests.GameRules;
|
||||
|
||||
@@ -23,11 +26,12 @@ public sealed class SecretStartsTest
|
||||
|
||||
var server = pairTracker.Pair.Server;
|
||||
await server.WaitIdleAsync();
|
||||
var protoMan = server.ResolveDependency<IPrototypeManager>();
|
||||
var gameTicker = server.ResolveDependency<IEntitySystemManager>().GetEntitySystem<GameTicker>();
|
||||
|
||||
await server.WaitAssertion(() =>
|
||||
{
|
||||
gameTicker.StartGameRule("Secret");
|
||||
gameTicker.StartGameRule(protoMan.Index<GameRulePrototype>("Secret"));
|
||||
});
|
||||
|
||||
// Wait three ticks for any random update loops that might happen
|
||||
@@ -35,9 +39,9 @@ public sealed class SecretStartsTest
|
||||
|
||||
await server.WaitAssertion(() =>
|
||||
{
|
||||
foreach (var rule in gameTicker.GetAddedGameRules())
|
||||
foreach (var rule in gameTicker.AddedGameRules)
|
||||
{
|
||||
Assert.That(gameTicker.GetActiveGameRules().Contains(rule));
|
||||
Assert.That(gameTicker.StartedGameRules.Contains(rule));
|
||||
}
|
||||
|
||||
// End all rules
|
||||
|
||||
@@ -2,11 +2,14 @@
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Content.Server.GameTicking;
|
||||
using Content.Server.GameTicking.Rules;
|
||||
using NUnit.Framework;
|
||||
using Robust.Shared.GameObjects;
|
||||
using Robust.Shared.Prototypes;
|
||||
|
||||
namespace Content.IntegrationTests.Tests.GameRules;
|
||||
|
||||
|
||||
[TestFixture]
|
||||
public sealed class StartEndGameRulesTest
|
||||
{
|
||||
@@ -23,18 +26,22 @@ public sealed class StartEndGameRulesTest
|
||||
});
|
||||
var server = pairTracker.Pair.Server;
|
||||
await server.WaitIdleAsync();
|
||||
var protoMan = server.ResolveDependency<IPrototypeManager>();
|
||||
var gameTicker = server.ResolveDependency<IEntitySystemManager>().GetEntitySystem<GameTicker>();
|
||||
|
||||
await server.WaitAssertion(() =>
|
||||
{
|
||||
var rules = gameTicker.GetAllGameRulePrototypes().ToList();
|
||||
var rules = protoMan.EnumeratePrototypes<GameRulePrototype>().ToList();
|
||||
rules.Sort((x, y) => string.Compare(x.ID, y.ID, StringComparison.Ordinal));
|
||||
|
||||
// Start all rules
|
||||
foreach (var rule in rules)
|
||||
{
|
||||
gameTicker.StartGameRule(rule.ID);
|
||||
gameTicker.StartGameRule(rule);
|
||||
}
|
||||
|
||||
Assert.That(gameTicker.AddedGameRules, Has.Count.EqualTo(rules.Count));
|
||||
Assert.That(gameTicker.AddedGameRules, Has.Count.EqualTo(gameTicker.StartedGameRules.Count));
|
||||
});
|
||||
|
||||
// Wait three ticks for any random update loops that might happen
|
||||
@@ -44,7 +51,7 @@ public sealed class StartEndGameRulesTest
|
||||
{
|
||||
// End all rules
|
||||
gameTicker.ClearGameRules();
|
||||
Assert.That(!gameTicker.GetAddedGameRules().Any());
|
||||
Assert.That(!gameTicker.AddedGameRules.Any());
|
||||
});
|
||||
|
||||
await pairTracker.CleanReturnAsync();
|
||||
|
||||
Reference in New Issue
Block a user