using Content.Server.Administration.Managers; using Content.Server.Afk; using Content.Server.AI.Utility; using Content.Server.AI.Utility.Considerations; using Content.Server.AI.WorldState; using Content.Server.Chat.Managers; using Content.Server.Connection; using Content.Server.Database; using Content.Server.EUI; using Content.Server.GameTicking; using Content.Server.Holiday.Interfaces; using Content.Server.IoC; using Content.Server.NodeContainer.NodeGroups; using Content.Server.PDA.Managers; using Content.Server.Preferences.Managers; using Content.Server.Sandbox; using Content.Server.Speech; using Content.Server.Voting.Managers; using Content.Shared.Actions; using Content.Shared.Alert; using Content.Shared.Kitchen; using Robust.Server.Player; using Robust.Shared.ContentPack; using Robust.Shared.GameObjects; using Robust.Shared.IoC; using Robust.Shared.Log; using Robust.Shared.Timing; namespace Content.Server.Entry { public class EntryPoint : GameServer { private EuiManager _euiManager = default!; private IVoteManager _voteManager = default!; /// public override void Init() { base.Init(); var factory = IoCManager.Resolve(); factory.DoAutoRegistrations(); foreach (var ignoreName in IgnoredComponents.List) { factory.RegisterIgnore(ignoreName); } ServerContentIoC.Register(); foreach (var callback in TestingCallbacks) { var cast = (ServerModuleTestingCallbacks) callback; cast.ServerBeforeIoC?.Invoke(); } IoCManager.BuildGraph(); factory.GenerateNetIds(); _euiManager = IoCManager.Resolve(); _voteManager = IoCManager.Resolve(); IoCManager.Resolve().Initialize(); var playerManager = IoCManager.Resolve(); var logManager = IoCManager.Resolve(); logManager.GetSawmill("Storage").Level = LogLevel.Info; logManager.GetSawmill("db.ef").Level = LogLevel.Info; IoCManager.Resolve().Initialize(); IoCManager.Resolve().Init(); IoCManager.Resolve().Init(); IoCManager.Resolve().Initialize(); IoCManager.Resolve().Initialize(); _voteManager.Initialize(); } public override void PostInit() { base.PostInit(); IoCManager.Resolve().Initialize(); IoCManager.Resolve().Initialize(); IoCManager.Resolve().Initialize(); IoCManager.Resolve().Initialize(); IoCManager.Resolve().Initialize(); IoCManager.Resolve().Initialize(); IoCManager.Resolve().Initialize(); IoCManager.Resolve().Initialize(); IoCManager.Resolve().Initialize(); IoCManager.Resolve().Initialize(); _euiManager.Initialize(); IoCManager.Resolve().GetEntitySystem().PostInitialize(); } public override void Update(ModUpdateLevel level, FrameEventArgs frameEventArgs) { base.Update(level, frameEventArgs); switch (level) { case ModUpdateLevel.PostEngine: { _euiManager.SendUpdates(); _voteManager.Update(); break; } } } } }