Turns GameTicker into an EntitySystem. (#4197)

* GameTicker turned into an EntitySystem

* Turns ClientGameTicker into an EntitySystem, turn NetMessages into events

* Change event names to be more consistent with the rest.

* YAML linter uses the dummy gameticker CVar override.

* Fix game ticker initialization order

* Dummy ticker won't spawn players.

* Fix character creation test
This commit is contained in:
Vera Aguilera Puerto
2021-06-20 10:09:24 +02:00
committed by GitHub
parent 15fb554c28
commit d3a611164b
81 changed files with 1711 additions and 1990 deletions

View File

@@ -24,9 +24,9 @@ namespace Content.IntegrationTests.Tests.Commands
await server.WaitIdleAsync();
var gameTicker = server.ResolveDependency<IGameTicker>();
var configManager = server.ResolveDependency<IConfigurationManager>();
var entityManager = server.ResolveDependency<IEntityManager>();
var gameTicker = entityManager.EntitySysManager.GetEntitySystem<GameTicker>();
await server.WaitRunTicks(30);

View File

@@ -3,6 +3,7 @@ using System.Threading.Tasks;
using Content.Server.GameTicking;
using Content.Server.GameTicking.Rules;
using NUnit.Framework;
using Robust.Shared.GameObjects;
using Robust.Shared.Timing;
namespace Content.IntegrationTests.Tests.GameRules
@@ -25,7 +26,7 @@ namespace Content.IntegrationTests.Tests.GameRules
await server.WaitIdleAsync();
var sGameTicker = server.ResolveDependency<IGameTicker>();
var sGameTicker = server.ResolveDependency<IEntitySystemManager>().GetEntitySystem<GameTicker>();
var sGameTiming = server.ResolveDependency<IGameTiming>();
RuleMaxTimeRestart maxTimeRule = null;

View File

@@ -13,6 +13,7 @@ using Content.Shared.Preferences;
using NUnit.Framework;
using Robust.Client.State;
using Robust.Shared.Configuration;
using Robust.Shared.GameObjects;
using Robust.Shared.Network;
namespace Content.IntegrationTests.Tests.Lobby
@@ -32,7 +33,7 @@ namespace Content.IntegrationTests.Tests.Lobby
var clientPrefManager = client.ResolveDependency<IClientPreferencesManager>();
var serverConfig = server.ResolveDependency<IConfigurationManager>();
var serverTicker = server.ResolveDependency<IGameTicker>();
var serverTicker = server.ResolveDependency<IEntitySystemManager>().GetEntitySystem<GameTicker>();
var serverPrefManager = server.ResolveDependency<IServerPreferencesManager>();
await server.WaitIdleAsync();
@@ -40,12 +41,16 @@ namespace Content.IntegrationTests.Tests.Lobby
await server.WaitAssertion(() =>
{
serverConfig.SetCVar(CCVars.GameDummyTicker, false);
serverConfig.SetCVar(CCVars.GameLobbyEnabled, true);
serverTicker.RestartRound();
});
Assert.That(serverTicker.RunLevel, Is.EqualTo(GameRunLevel.PreRoundLobby));
// Need to run them in sync to receive the messages.
await RunTicksSync(client, server, 1);
await WaitUntil(client, () => clientStateManager.CurrentState is LobbyState, maxTicks: 60);
Assert.NotNull(clientNetManager.ServerChannel);

View File

@@ -36,8 +36,8 @@ namespace Content.IntegrationTests.Tests
await server.WaitIdleAsync();
var gameTicker = server.ResolveDependency<IGameTicker>();
var entitySystemManager = server.ResolveDependency<IEntitySystemManager>();
var gameTicker = entitySystemManager.GetEntitySystem<GameTicker>();
await server.WaitAssertion(() =>
{

View File

@@ -1,6 +1,7 @@
using System.Threading.Tasks;
using Content.Server.GameTicking;
using NUnit.Framework;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
namespace Content.IntegrationTests.Tests
@@ -15,7 +16,7 @@ namespace Content.IntegrationTests.Tests
server.Post(() =>
{
IoCManager.Resolve<IGameTicker>().RestartRound();
IoCManager.Resolve<IEntitySystemManager>().GetEntitySystem<GameTicker>().RestartRound();
});
await RunTicksSync(client, server, 10);