mirror of
https://github.com/space-wizards/RobustToolboxTemplateSingleplayer.git
synced 2026-02-10 16:24:49 -05:00
Update template to latest RobustToolbox version.
This commit is contained in:
parent
338a7455ac
commit
2e6af3eb52
8 changed files with 109 additions and 179 deletions
|
|
@ -8,68 +8,65 @@ using Robust.Shared.Timing;
|
|||
|
||||
// DEVNOTE: You can change the namespace and project name to whatever you want!
|
||||
// Just make sure to consistently use a prefix across your different projects.
|
||||
namespace Template.Game
|
||||
namespace Template.Game;
|
||||
|
||||
public class EntryPoint : GameClient
|
||||
{
|
||||
public class EntryPoint : GameClient
|
||||
// See line 35. 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()
|
||||
{
|
||||
// See line 35. 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()
|
||||
{
|
||||
base.PreInit();
|
||||
base.PreInit();
|
||||
|
||||
// Default to en-US.
|
||||
// DEVNOTE: If you want your game to be multi-regional at runtime, you'll need to
|
||||
// do something more complicated here.
|
||||
IoCManager.Resolve<ILocalizationManager>().LoadCulture(new CultureInfo(Culture));
|
||||
}
|
||||
|
||||
public override void Init()
|
||||
{
|
||||
var factory = IoCManager.Resolve<IComponentFactory>();
|
||||
|
||||
// DEVNOTE: Registers all of your components.
|
||||
factory.DoAutoRegistrations();
|
||||
|
||||
TemplateIoC.Register();
|
||||
|
||||
IoCManager.BuildGraph();
|
||||
|
||||
factory.GenerateNetIds();
|
||||
|
||||
// DEVNOTE: This is generally where you'll be setting up the IoCManager further, like the tile manager.
|
||||
}
|
||||
|
||||
public override void PostInit()
|
||||
{
|
||||
base.PostInit();
|
||||
|
||||
// DEVNOTE: Further setup..
|
||||
|
||||
// DEVNOTE: This starts the singleplayer mode,
|
||||
// which means you can start creating entities, spawning things...
|
||||
// If you want to have a main menu to start the game from instead, use the StateManager.
|
||||
IoCManager.Resolve<IBaseClient>().StartSinglePlayer();
|
||||
}
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
base.Dispose(disposing);
|
||||
|
||||
// DEVNOTE: You'll want to do a proper shutdown 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.
|
||||
}
|
||||
// Default to en-US.
|
||||
// DEVNOTE: If you want your game to be multi-regional at runtime, you'll need to
|
||||
// do something more complicated here.
|
||||
IoCManager.Resolve<ILocalizationManager>().LoadCulture(new CultureInfo(Culture));
|
||||
}
|
||||
|
||||
|
||||
public override void Init()
|
||||
{
|
||||
var factory = IoCManager.Resolve<IComponentFactory>();
|
||||
|
||||
// DEVNOTE: Registers all of your components.
|
||||
factory.DoAutoRegistrations();
|
||||
|
||||
TemplateIoC.Register();
|
||||
|
||||
IoCManager.BuildGraph();
|
||||
|
||||
factory.GenerateNetIds();
|
||||
|
||||
// DEVNOTE: This is generally where you'll be setting up the IoCManager further, like the tile manager.
|
||||
}
|
||||
|
||||
public override void PostInit()
|
||||
{
|
||||
base.PostInit();
|
||||
|
||||
// DEVNOTE: Further setup..
|
||||
|
||||
// DEVNOTE: This starts the singleplayer mode,
|
||||
// which means you can start creating entities, spawning things...
|
||||
// If you want to have a main menu to start the game from instead, use the StateManager.
|
||||
IoCManager.Resolve<IBaseClient>().StartSinglePlayer();
|
||||
}
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
base.Dispose(disposing);
|
||||
|
||||
// DEVNOTE: You'll want to do a proper shutdown 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.
|
||||
}
|
||||
}
|
||||
|
|
@ -1,21 +1,20 @@
|
|||
using Robust.Shared;
|
||||
using Robust.Shared.Configuration;
|
||||
|
||||
namespace Template.Game
|
||||
{
|
||||
// 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.
|
||||
namespace Template.Game;
|
||||
|
||||
public static readonly CVarDef<bool>
|
||||
DummyCVarForTemplate = CVarDef.Create("dummy.whydoineedthis", true, CVar.ARCHIVE);
|
||||
}
|
||||
// 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);
|
||||
}
|
||||
|
|
@ -1,11 +1,10 @@
|
|||
using Robust.Shared.Input;
|
||||
|
||||
namespace Template.Game.Input
|
||||
namespace Template.Game.Input;
|
||||
|
||||
[KeyFunctions]
|
||||
public static class ContentKeyFunctions
|
||||
{
|
||||
[KeyFunctions]
|
||||
public static class ContentKeyFunctions
|
||||
{
|
||||
// DEVNOTE: Stick keys you want to be bindable here.
|
||||
// public static readonly BoundKeyFunction DummyKey = "DummyKey";
|
||||
}
|
||||
// DEVNOTE: Stick keys you want to be bindable here.
|
||||
// public static readonly BoundKeyFunction DummyKey = "DummyKey";
|
||||
}
|
||||
|
|
@ -1,43 +1,42 @@
|
|||
using Robust.Client;
|
||||
|
||||
namespace Template.Game
|
||||
namespace Template.Game;
|
||||
|
||||
internal static class Program
|
||||
{
|
||||
internal static class Program
|
||||
public static void Main(string[] args)
|
||||
{
|
||||
public static void Main(string[] args)
|
||||
ContentStart.StartLibrary(args, new GameControllerOptions()
|
||||
{
|
||||
ContentStart.StartLibrary(args, new GameControllerOptions()
|
||||
{
|
||||
// DEVNOTE: Your options here!
|
||||
// DEVNOTE: Your options here!
|
||||
|
||||
// We disable sandboxing given we're using RobustToolbox as a library, and we won't be on the hub.
|
||||
Sandboxing = false,
|
||||
// We disable sandboxing given we're using RobustToolbox as a library, and we won't be on the hub.
|
||||
Sandboxing = false,
|
||||
|
||||
// Projects with this prefix will be loaded by the engine.
|
||||
ContentModulePrefix = "Template.",
|
||||
// Projects with this prefix will be loaded by the engine.
|
||||
ContentModulePrefix = "Template.",
|
||||
|
||||
// Name of the folder where the game will be built in. Also check Template.Game.csproj:9!
|
||||
ContentBuildDirectory = "Template.Game",
|
||||
// Name of the folder where the game will be built in. Also check Template.Game.csproj:9!
|
||||
ContentBuildDirectory = "Template.Game",
|
||||
|
||||
// Default window name. This can also be changed on runtime with the IClyde service.
|
||||
DefaultWindowTitle = "RobustToolbox Template Game",
|
||||
// Default window name. This can also be changed on runtime with the IClyde service.
|
||||
DefaultWindowTitle = "RobustToolbox Template Game",
|
||||
|
||||
// This template is singleplayer-only, so we disable connecting to a server from program arguments.
|
||||
DisableCommandLineConnect = true,
|
||||
// This template is singleplayer-only, so we disable connecting to a server from program arguments.
|
||||
DisableCommandLineConnect = true,
|
||||
|
||||
// Name of the folder where the user's data (config, etc) will be stored.
|
||||
UserDataDirectoryName = "Template Game",
|
||||
// Name of the folder where the user's data (config, etc) will be stored.
|
||||
UserDataDirectoryName = "Template Game",
|
||||
|
||||
// Name of the configuration file in the user's data directory.
|
||||
ConfigFileName = "config.toml",
|
||||
// Name of the configuration file in the user's data directory.
|
||||
ConfigFileName = "config.toml",
|
||||
|
||||
//SplashLogo = new ResourcePath("/path/to/splash/logo.png"),
|
||||
//SplashLogo = new ResourcePath("/path/to/splash/logo.png"),
|
||||
|
||||
// Check "RobustToolbox/Resources/Textures/Logo/icon" for an example window icon set.
|
||||
//WindowIconSet = new ResourcePath("/path/to/folder/with/window/icon/set"),
|
||||
// Check "RobustToolbox/Resources/Textures/Logo/icon" for an example window icon set.
|
||||
//WindowIconSet = new ResourcePath("/path/to/folder/with/window/icon/set"),
|
||||
|
||||
// There are a few more options, be sure to check them all!
|
||||
});
|
||||
}
|
||||
// There are a few more options, be sure to check them all!
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
@ -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\Template.Game\</OutputPath> <!-- This is important for gamepack mounting purposes. -->
|
||||
|
|
|
|||
|
|
@ -1,10 +1,9 @@
|
|||
namespace Template.Game
|
||||
namespace Template.Game;
|
||||
|
||||
internal static class TemplateIoC
|
||||
{
|
||||
internal static class TemplateIoC
|
||||
public static void Register()
|
||||
{
|
||||
public static void Register()
|
||||
{
|
||||
// DEVNOTE: IoCManager registrations for the game go here.
|
||||
}
|
||||
// DEVNOTE: IoCManager registrations for the game go here.
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue