Test-time reflected event checker
Server UI components work with new system Events for loading and unloading TorchSessions Commands report information again. Catch, log, and rethrow errors that occur in Torch-handled SE events
This commit is contained in:
@@ -21,7 +21,12 @@ namespace Torch.Commands
|
||||
[Permission(MyPromoteLevel.None)]
|
||||
public void Help()
|
||||
{
|
||||
var commandManager = ((TorchBase)Context.Torch).CurrentSession.Managers.GetManager<CommandManager>();
|
||||
var commandManager = Context.Torch.CurrentSession?.Managers.GetManager<CommandManager>();
|
||||
if (commandManager == null)
|
||||
{
|
||||
Context.Respond("Must have an attached session to list commands");
|
||||
return;
|
||||
}
|
||||
commandManager.Commands.GetNode(Context.Args, out CommandTree.CommandNode node);
|
||||
|
||||
if (node != null)
|
||||
@@ -51,7 +56,12 @@ namespace Torch.Commands
|
||||
[Command("longhelp", "Get verbose help. Will send a long message, check the Comms tab.")]
|
||||
public void LongHelp()
|
||||
{
|
||||
var commandManager = Context.Torch.Managers.GetManager<CommandManager>();
|
||||
var commandManager = Context.Torch.CurrentSession?.Managers.GetManager<CommandManager>();
|
||||
if (commandManager == null)
|
||||
{
|
||||
Context.Respond("Must have an attached session to list commands");
|
||||
return;
|
||||
}
|
||||
commandManager.Commands.GetNode(Context.Args, out CommandTree.CommandNode node);
|
||||
|
||||
if (node != null)
|
||||
@@ -96,7 +106,7 @@ namespace Torch.Commands
|
||||
[Permission(MyPromoteLevel.None)]
|
||||
public void Plugins()
|
||||
{
|
||||
var plugins = Context.Torch.Plugins.Select(p => p.Name);
|
||||
var plugins = Context.Torch.Managers.GetManager<PluginManager>()?.Plugins.Select(p => p.Name) ?? Enumerable.Empty<string>();
|
||||
Context.Respond($"Loaded plugins: {string.Join(", ", plugins)}");
|
||||
}
|
||||
|
||||
@@ -128,15 +138,13 @@ namespace Torch.Commands
|
||||
{
|
||||
if (i >= 60 && i % 60 == 0)
|
||||
{
|
||||
// TODO
|
||||
// Context.Torch.Multiplayer.SendMessage($"Restarting server in {i / 60} minute{Pluralize(i / 60)}.");
|
||||
// yield return null;
|
||||
Context.Torch.CurrentSession.Managers.GetManager<IChatManagerClient>().SendMessageAsSelf($"Restarting server in {i / 60} minute{Pluralize(i / 60)}.");
|
||||
yield return null;
|
||||
}
|
||||
else if (i > 0)
|
||||
{
|
||||
// TODO
|
||||
// if (i < 11)
|
||||
// Context.Torch.Multiplayer.SendMessage($"Restarting server in {i} second{Pluralize(i)}.");
|
||||
if (i < 11)
|
||||
Context.Torch.CurrentSession.Managers.GetManager<IChatManagerClient>().SendMessageAsSelf($"Restarting server in {i} second{Pluralize(i)}.");
|
||||
yield return null;
|
||||
}
|
||||
else
|
||||
@@ -155,7 +163,7 @@ namespace Torch.Commands
|
||||
{
|
||||
return num == 1 ? "" : "s";
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a save of the game.
|
||||
/// Caller id defaults to 0 in the case of triggering the chat command from server.
|
||||
|
Reference in New Issue
Block a user