Basic syncshell chat impl with game hooks

This commit is contained in:
Loporrit
2024-11-24 22:21:41 +00:00
parent 7075c43a49
commit c2723fd005
25 changed files with 610 additions and 13 deletions

View File

@@ -54,4 +54,6 @@ public class MareConfig : IMareConfiguration
public bool UseCompactor { get; set; } = false;
public int Version { get; set; } = 1;
public NotificationLocation WarningNotification { get; set; } = NotificationLocation.Both;
public bool DisableSyncshellChat { get; set; } = false;
}

View File

@@ -2,6 +2,7 @@
namespace MareSynchronos.MareConfiguration.Configurations;
[Serializable]
public class ServerTagConfig : IMareConfiguration
{
public Dictionary<string, ServerTagStorage> ServerTagStorage { get; set; } = new(StringComparer.OrdinalIgnoreCase);

View File

@@ -0,0 +1,10 @@
using MareSynchronos.MareConfiguration.Models;
namespace MareSynchronos.MareConfiguration.Configurations;
[Serializable]
public class SyncshellConfig : IMareConfiguration
{
public Dictionary<string, ServerShellStorage> ServerShellStorage { get; set; } = new(StringComparer.Ordinal);
public int Version { get; set; } = 0;
}

View File

@@ -2,6 +2,7 @@
namespace MareSynchronos.MareConfiguration.Configurations;
[Serializable]
public class UidNotesConfig : IMareConfiguration
{
public Dictionary<string, ServerNotesStorage> ServerNotes { get; set; } = new(StringComparer.Ordinal);

View File

@@ -1,5 +1,6 @@
namespace MareSynchronos.MareConfiguration.Models;
[Serializable]
public class ServerNotesStorage
{
public Dictionary<string, string> GidServerComments { get; set; } = new(StringComparer.Ordinal);

View File

@@ -0,0 +1,7 @@
namespace MareSynchronos.MareConfiguration.Models;
[Serializable]
public class ServerShellStorage
{
public Dictionary<string, ShellConfig> GidShellConfig { get; set; } = new(StringComparer.Ordinal);
}

View File

@@ -0,0 +1,7 @@
namespace MareSynchronos.MareConfiguration.Models;
[Serializable]
public class ShellConfig
{
public int ShellNumber { get; set; }
}

View File

@@ -0,0 +1,14 @@
using MareSynchronos.MareConfiguration.Configurations;
namespace MareSynchronos.MareConfiguration;
public class SyncshellConfigService : ConfigurationServiceBase<SyncshellConfig>
{
public const string ConfigName = "syncshells.json";
public SyncshellConfigService(string configDir) : base(configDir)
{
}
protected override string ConfigurationName => ConfigName;
}