53 lines
1.6 KiB
C#
Raw Normal View History

2025-01-16 13:51:29 +01:00
using CodexClient;
using CodexClient.Hooks;
using Core;
namespace CodexPlugin
{
public static class CoreInterfaceExtensions
{
public static ICodexInstance[] DeployCodexNodes(this CoreInterface ci, int number, Action<ICodexSetup> setup)
{
2023-09-20 12:02:32 +02:00
return Plugin(ci).DeployCodexNodes(number, setup);
}
public static ICodexNodeGroup WrapCodexContainers(this CoreInterface ci, ICodexInstance[] instances)
{
2025-01-27 09:59:19 +01:00
return Plugin(ci).WrapCodexContainers(instances);
}
2023-09-20 12:02:32 +02:00
public static ICodexNode StartCodexNode(this CoreInterface ci)
2023-09-12 15:43:30 +02:00
{
2023-09-20 12:02:32 +02:00
return ci.StartCodexNodes(1)[0];
2023-09-12 15:43:30 +02:00
}
2023-09-20 12:02:32 +02:00
public static ICodexNode StartCodexNode(this CoreInterface ci, Action<ICodexSetup> setup)
{
2023-09-20 12:02:32 +02:00
return ci.StartCodexNodes(1, setup)[0];
}
2023-09-20 12:02:32 +02:00
public static ICodexNodeGroup StartCodexNodes(this CoreInterface ci, int number, Action<ICodexSetup> setup)
{
2023-09-20 12:02:32 +02:00
var rc = ci.DeployCodexNodes(number, setup);
2023-09-20 08:45:55 +02:00
var result = ci.WrapCodexContainers(rc);
Plugin(ci).WireUpMarketplace(result, setup);
return result;
}
2023-09-20 12:02:32 +02:00
public static ICodexNodeGroup StartCodexNodes(this CoreInterface ci, int number)
{
2023-09-20 12:02:32 +02:00
return ci.StartCodexNodes(number, s => { });
}
2025-01-29 14:44:19 +01:00
public static void AddCodexHooksProvider(this CoreInterface ci, ICodexHooksProvider hooksProvider)
{
2025-01-29 14:44:19 +01:00
Plugin(ci).AddCodexHooksProvider(hooksProvider);
}
private static CodexPlugin Plugin(CoreInterface ci)
{
return ci.GetPlugin<CodexPlugin>();
}
}
}