Update template to latest RobustToolbox version.

- Converts template to use file-scoped namespaces.
- Add manifest.yml and comments for it.
This commit is contained in:
Vera Aguilera Puerto 2021-12-29 12:21:56 +01:00
parent b417f4355e
commit 729c2a6206
18 changed files with 197 additions and 272 deletions

View file

@ -3,7 +3,7 @@
<PropertyGroup>
<!-- Work around https://github.com/dotnet/project-system/issues/4314 -->
<TargetFramework>$(TargetFramework)</TargetFramework>
<LangVersion>9</LangVersion>
<LangVersion>latest</LangVersion>
<IsPackable>false</IsPackable>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<OutputPath>..\bin\Content.Server\</OutputPath>

View file

@ -3,43 +3,42 @@ using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Timing;
// DEVNOTE: Games that want to be on the hub are FORCED use the "Content." prefix for assemblies they want to load.
namespace Content.Server
// DEVNOTE: Games that want to be on the hub can change their namespace prefix in the "manifest.yml" file.
namespace Content.Server;
public class EntryPoint : GameServer
{
public class EntryPoint : GameServer
public override void Init()
{
public override void Init()
base.Init();
var factory = IoCManager.Resolve<IComponentFactory>();
factory.DoAutoRegistrations();
foreach (var ignoreName in IgnoredComponents.List)
{
base.Init();
factory.RegisterIgnore(ignoreName);
}
var factory = IoCManager.Resolve<IComponentFactory>();
ServerContentIoC.Register();
factory.DoAutoRegistrations();
foreach (var ignoreName in IgnoredComponents.List)
{
factory.RegisterIgnore(ignoreName);
}
ServerContentIoC.Register();
IoCManager.BuildGraph();
IoCManager.BuildGraph();
factory.GenerateNetIds();
factory.GenerateNetIds();
// DEVNOTE: This is generally where you'll be setting up the IoCManager further.
}
public override void PostInit()
{
base.PostInit();
// DEVNOTE: Can also initialize IoC stuff more here.
}
public override void Update(ModUpdateLevel level, FrameEventArgs frameEventArgs)
{
base.Update(level, frameEventArgs);
// DEVNOTE: Game update loop goes here. Usually you'll want some independent GameTicker.
}
// DEVNOTE: This is generally where you'll be setting up the IoCManager further.
}
}
public override void PostInit()
{
base.PostInit();
// DEVNOTE: Can also initialize IoC stuff more here.
}
public override void Update(ModUpdateLevel level, FrameEventArgs frameEventArgs)
{
base.Update(level, frameEventArgs);
// DEVNOTE: Game update loop goes here. Usually you'll want some independent GameTicker.
}
}

View file

@ -1,9 +1,8 @@
namespace Content.Server
namespace Content.Server;
public static class IgnoredComponents
{
public static class IgnoredComponents
{
public static string[] List => new string[] {
// Stick components you want ignored here.
};
}
public static string[] List => new string[] {
// Stick components you want ignored here.
};
}

View file

@ -1,21 +1,20 @@
using Robust.Server;
namespace Content.Server
namespace Content.Server;
internal static class Program
{
internal static class Program
public static void Main(string[] args)
{
public static void Main(string[] args)
{
ContentStart.Start(args);
ContentStart.Start(args);
/*
// DEVNOTE: If you want to use RobustToolbox as a library, use the method below instead.
ContentStart.StartLibrary(args, new ServerOptions()
{
// DEVNOTE: Your options here.
Sandboxing = false,
});
*/
}
/*
// DEVNOTE: If you want to use RobustToolbox as a library, use the method below instead.
ContentStart.StartLibrary(args, new ServerOptions()
{
// DEVNOTE: Your options here.
Sandboxing = false,
});
*/
}
}

View file

@ -1,12 +1,11 @@
using Robust.Shared.IoC;
namespace Content.Server
namespace Content.Server;
internal static class ServerContentIoC
{
internal static class ServerContentIoC
public static void Register()
{
public static void Register()
{
// DEVNOTE: IoCManager registrations for the server go here and only here.
}
// DEVNOTE: IoCManager registrations for the server go here and only here.
}
}