mirror of
https://github.com/space-wizards/RobustToolboxTemplate.git
synced 2026-02-10 16:24:49 -05:00
ohno
This commit is contained in:
parent
5bec4a5921
commit
50c6173d91
14 changed files with 261 additions and 8 deletions
12
Content.Client/ClientContentIoC.cs
Normal file
12
Content.Client/ClientContentIoC.cs
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
using Robust.Shared.IoC;
|
||||||
|
|
||||||
|
namespace Content.Client
|
||||||
|
{
|
||||||
|
internal static class ClientContentIoC
|
||||||
|
{
|
||||||
|
public static void Register()
|
||||||
|
{
|
||||||
|
// DEVNOTE: IoCManager registrations for the client go here and only here.
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
55
Content.Client/EntryPoint.cs
Normal file
55
Content.Client/EntryPoint.cs
Normal file
|
|
@ -0,0 +1,55 @@
|
||||||
|
using Robust.Shared.ContentPack;
|
||||||
|
using Robust.Shared.Interfaces.Configuration;
|
||||||
|
using Robust.Shared.Interfaces.GameObjects;
|
||||||
|
using Robust.Shared.Interfaces.Map;
|
||||||
|
using Robust.Shared.IoC;
|
||||||
|
using Robust.Shared.Map;
|
||||||
|
using Robust.Shared.Prototypes;
|
||||||
|
using Robust.Shared.Timing;
|
||||||
|
|
||||||
|
namespace Content.Client
|
||||||
|
{
|
||||||
|
public class EntryPoint: GameClient
|
||||||
|
{
|
||||||
|
public override void Init()
|
||||||
|
{
|
||||||
|
var factory = IoCManager.Resolve<IComponentFactory>();
|
||||||
|
var prototypes = IoCManager.Resolve<IPrototypeManager>();
|
||||||
|
|
||||||
|
factory.DoAutoRegistrations();
|
||||||
|
|
||||||
|
foreach (var ignoreName in IgnoredComponents.List)
|
||||||
|
{
|
||||||
|
factory.RegisterIgnore(ignoreName);
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (var ignoreName in IgnoredPrototypes.List)
|
||||||
|
{
|
||||||
|
prototypes.RegisterIgnore(ignoreName);
|
||||||
|
}
|
||||||
|
|
||||||
|
ClientContentIoC.Register();
|
||||||
|
|
||||||
|
IoCManager.BuildGraph();
|
||||||
|
|
||||||
|
// DEVNOTE: This is generally where you'll be setting up the IoCManager further.
|
||||||
|
|
||||||
|
IoCManager.InjectDependencies(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void PostInit()
|
||||||
|
{
|
||||||
|
base.PostInit();
|
||||||
|
|
||||||
|
// DEVNOTE: Further setup, this is the spot you should start trying to connect to the server from.
|
||||||
|
}
|
||||||
|
|
||||||
|
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.
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
9
Content.Client/IgnoredComponents.cs
Normal file
9
Content.Client/IgnoredComponents.cs
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
namespace Content.Client
|
||||||
|
{
|
||||||
|
public static class IgnoredComponents
|
||||||
|
{
|
||||||
|
public static string[] List => new string[] {
|
||||||
|
// Stick components you want ignored here.
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
9
Content.Client/IgnoredPrototypes.cs
Normal file
9
Content.Client/IgnoredPrototypes.cs
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
namespace Content.Client
|
||||||
|
{
|
||||||
|
public static class IgnoredPrototypes
|
||||||
|
{
|
||||||
|
public static string[] List => new string[] {
|
||||||
|
// Stick prototypes you want ignored here.
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -4,9 +4,6 @@ namespace Content.Client
|
||||||
{
|
{
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
15
Content.Client/app.config
Normal file
15
Content.Client/app.config
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<configuration>
|
||||||
|
<runtime>
|
||||||
|
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="ICSharpCode.SharpZipLib" publicKeyToken="1b03e6acf1164f73" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-0.86.0.518" newVersion="0.86.0.518" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-11.0.0.0" newVersion="11.0.0.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
</assemblyBinding>
|
||||||
|
</runtime>
|
||||||
|
</configuration>
|
||||||
41
Content.Server/EntryPoint.cs
Normal file
41
Content.Server/EntryPoint.cs
Normal file
|
|
@ -0,0 +1,41 @@
|
||||||
|
using Robust.Shared.ContentPack;
|
||||||
|
using Robust.Shared.Interfaces.GameObjects;
|
||||||
|
using Robust.Shared.IoC;
|
||||||
|
using Robust.Shared.Timing;
|
||||||
|
|
||||||
|
namespace Content.Server
|
||||||
|
{
|
||||||
|
public class EntryPoint: GameServer
|
||||||
|
{
|
||||||
|
public override void Init() {
|
||||||
|
base.Init();
|
||||||
|
|
||||||
|
var factory = IoCManager.Resolve<IComponentFactory>();
|
||||||
|
|
||||||
|
factory.DoAutoRegistrations();
|
||||||
|
|
||||||
|
foreach (var ignoreName in IgnoredComponents.List)
|
||||||
|
{
|
||||||
|
factory.RegisterIgnore(ignoreName);
|
||||||
|
}
|
||||||
|
|
||||||
|
ServerContentIoC.Register();
|
||||||
|
|
||||||
|
IoCManager.BuildGraph();
|
||||||
|
|
||||||
|
// 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.
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
9
Content.Server/IgnoredComponents.cs
Normal file
9
Content.Server/IgnoredComponents.cs
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
namespace Content.Server
|
||||||
|
{
|
||||||
|
public static class IgnoredComponents
|
||||||
|
{
|
||||||
|
public static string[] List => new string[] {
|
||||||
|
// Stick components you want ignored here.
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -4,9 +4,6 @@ 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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
12
Content.Server/ServerContentIoC.cs
Normal file
12
Content.Server/ServerContentIoC.cs
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
using Robust.Shared.IoC;
|
||||||
|
|
||||||
|
namespace Content.Server
|
||||||
|
{
|
||||||
|
internal static class ServerContentIoC
|
||||||
|
{
|
||||||
|
public static void Register()
|
||||||
|
{
|
||||||
|
// DEVNOTE: IoCManager registrations for the server go here and only here.
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
15
Content.Server/app.config
Normal file
15
Content.Server/app.config
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<configuration>
|
||||||
|
<runtime>
|
||||||
|
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="ICSharpCode.SharpZipLib" publicKeyToken="1b03e6acf1164f73" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-0.86.0.518" newVersion="0.86.0.518" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-11.0.0.0" newVersion="11.0.0.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
</assemblyBinding>
|
||||||
|
</runtime>
|
||||||
|
</configuration>
|
||||||
46
Content.Shared/EntryPoint.cs
Normal file
46
Content.Shared/EntryPoint.cs
Normal file
|
|
@ -0,0 +1,46 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Globalization;
|
||||||
|
using Robust.Shared.ContentPack;
|
||||||
|
using Robust.Shared.IoC;
|
||||||
|
using Robust.Shared.Localization;
|
||||||
|
using Robust.Shared.Localization.Macros;
|
||||||
|
using Robust.Shared.Prototypes;
|
||||||
|
|
||||||
|
namespace Content.Shared
|
||||||
|
{
|
||||||
|
public class EntryPoint: GameShared
|
||||||
|
{
|
||||||
|
// See line 25. Controls the default game culture and language.
|
||||||
|
// Robust calls this culture, but you might find it more fitting to call it the game
|
||||||
|
// language. Robust doesn't support changing this mid-game. Load your config file early
|
||||||
|
// if you want that.
|
||||||
|
private const string Culture = "en-US";
|
||||||
|
|
||||||
|
public override void PreInit()
|
||||||
|
{
|
||||||
|
Console.WriteLine("BLUH");
|
||||||
|
IoCManager.InjectDependencies(this);
|
||||||
|
var textMacroFactory = IoCManager.Resolve<ITextMacroFactory>();
|
||||||
|
textMacroFactory.DoAutoRegistrations();
|
||||||
|
|
||||||
|
// Default to en-US.
|
||||||
|
// DEVNOTE: If you want your game to be multiregional at runtime, you'll need to
|
||||||
|
// do something more complicated here.
|
||||||
|
Loc.LoadCulture(new CultureInfo(Culture));
|
||||||
|
// TODO: Document what else you might want to put here
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Init()
|
||||||
|
{
|
||||||
|
// TODO: Document what you put here
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void PostInit()
|
||||||
|
{
|
||||||
|
base.PostInit();
|
||||||
|
// DEVNOTE: You might want to put special init handlers for, say, tiles here.
|
||||||
|
// TODO: Document what else you might want to put here
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
21
Content.Shared/GameConfigVars.cs
Normal file
21
Content.Shared/GameConfigVars.cs
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
using Robust.Shared;
|
||||||
|
using Robust.Shared.Configuration;
|
||||||
|
|
||||||
|
namespace Content.Shared
|
||||||
|
{
|
||||||
|
// DEVNOTE: This is the same as SS14's CCVars. Except it's not named CCVars as that name is
|
||||||
|
// hot garbage.
|
||||||
|
[CVarDefs]
|
||||||
|
public sealed class GameConfigVars: CVars
|
||||||
|
{
|
||||||
|
// Declare persistent game config variables here.
|
||||||
|
// ```
|
||||||
|
// public static readonly CVarDef<SerializableType>
|
||||||
|
// VariableName = CVarDef.Create("namespace.varname", default_value, CVar.TYPE | CVar.OTHERTYPE)
|
||||||
|
// ```
|
||||||
|
// This is a good spot to store your database config, among other things.
|
||||||
|
|
||||||
|
public static readonly CVarDef<bool>
|
||||||
|
DummyCVarForTemplate = CVarDef.Create("dummy.whydoineedthis", true, CVar.ARCHIVE);
|
||||||
|
}
|
||||||
|
}
|
||||||
15
Content.Shared/app.config
Normal file
15
Content.Shared/app.config
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<configuration>
|
||||||
|
<runtime>
|
||||||
|
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="ICSharpCode.SharpZipLib" publicKeyToken="1b03e6acf1164f73" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-0.86.0.518" newVersion="0.86.0.518" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-11.0.0.0" newVersion="11.0.0.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
</assemblyBinding>
|
||||||
|
</runtime>
|
||||||
|
</configuration>
|
||||||
Loading…
Add table
Add a link
Reference in a new issue