mirror of
https://github.com/xivdev/Penumbra.git
synced 2025-12-29 20:03:44 +01:00
mooooore
This commit is contained in:
parent
0fd14ffefc
commit
06953c175d
5 changed files with 31 additions and 27 deletions
|
|
@ -68,21 +68,6 @@ public interface IModGroup
|
|||
return true;
|
||||
}
|
||||
|
||||
public static void WriteJsonBase(JsonTextWriter jWriter, IModGroup group)
|
||||
{
|
||||
jWriter.WriteStartObject();
|
||||
jWriter.WritePropertyName(nameof(group.Name));
|
||||
jWriter.WriteValue(group!.Name);
|
||||
jWriter.WritePropertyName(nameof(group.Description));
|
||||
jWriter.WriteValue(group.Description);
|
||||
jWriter.WritePropertyName(nameof(group.Priority));
|
||||
jWriter.WriteValue(group.Priority.Value);
|
||||
jWriter.WritePropertyName(nameof(group.Type));
|
||||
jWriter.WriteValue(group.Type.ToString());
|
||||
jWriter.WritePropertyName(nameof(group.DefaultSettings));
|
||||
jWriter.WriteValue(group.DefaultSettings.Value);
|
||||
}
|
||||
|
||||
public (int Redirections, int Swaps, int Manips) GetCounts();
|
||||
|
||||
public static (int Redirections, int Swaps, int Manips) GetCountsBase(IModGroup group)
|
||||
|
|
|
|||
|
|
@ -54,4 +54,19 @@ public readonly struct ModSaveGroup : ISavable
|
|||
SubModHelpers.WriteModContainer(j, serializer, _defaultMod!, _basePath);
|
||||
j.WriteEndObject();
|
||||
}
|
||||
|
||||
public static void WriteJsonBase(JsonTextWriter jWriter, IModGroup group)
|
||||
{
|
||||
jWriter.WriteStartObject();
|
||||
jWriter.WritePropertyName(nameof(group.Name));
|
||||
jWriter.WriteValue(group!.Name);
|
||||
jWriter.WritePropertyName(nameof(group.Description));
|
||||
jWriter.WriteValue(group.Description);
|
||||
jWriter.WritePropertyName(nameof(group.Priority));
|
||||
jWriter.WriteValue(group.Priority.Value);
|
||||
jWriter.WritePropertyName(nameof(group.Type));
|
||||
jWriter.WriteValue(group.Type.ToString());
|
||||
jWriter.WritePropertyName(nameof(group.DefaultSettings));
|
||||
jWriter.WriteValue(group.DefaultSettings.Value);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -135,15 +135,17 @@ public sealed class MultiModGroup(Mod mod) : IModGroup, ITexToolsGroup
|
|||
|
||||
public void WriteJson(JsonTextWriter jWriter, JsonSerializer serializer, DirectoryInfo? basePath = null)
|
||||
{
|
||||
IModGroup.WriteJsonBase(jWriter, this);
|
||||
ModSaveGroup.WriteJsonBase(jWriter, this);
|
||||
jWriter.WritePropertyName("Options");
|
||||
jWriter.WriteStartArray();
|
||||
foreach (var option in OptionData)
|
||||
{
|
||||
jWriter.WriteStartObject();
|
||||
SubModHelpers.WriteModOption(jWriter, option);
|
||||
jWriter.WritePropertyName(nameof(option.Priority));
|
||||
jWriter.WriteValue(option.Priority.Value);
|
||||
SubModHelpers.WriteModContainer(jWriter, serializer, option, basePath ?? Mod.ModPath);
|
||||
jWriter.WriteEndObject();
|
||||
}
|
||||
|
||||
jWriter.WriteEndArray();
|
||||
|
|
|
|||
|
|
@ -139,13 +139,15 @@ public sealed class SingleModGroup(Mod mod) : IModGroup, ITexToolsGroup
|
|||
|
||||
public void WriteJson(JsonTextWriter jWriter, JsonSerializer serializer, DirectoryInfo? basePath = null)
|
||||
{
|
||||
IModGroup.WriteJsonBase(jWriter, this);
|
||||
ModSaveGroup.WriteJsonBase(jWriter, this);
|
||||
jWriter.WritePropertyName("Options");
|
||||
jWriter.WriteStartArray();
|
||||
foreach (var option in OptionData)
|
||||
{
|
||||
jWriter.WriteStartObject();
|
||||
SubModHelpers.WriteModOption(jWriter, option);
|
||||
SubModHelpers.WriteModContainer(jWriter, serializer, option, basePath ?? Mod.ModPath);
|
||||
jWriter.WriteEndObject();
|
||||
}
|
||||
|
||||
jWriter.WriteEndArray();
|
||||
|
|
|
|||
|
|
@ -1,19 +1,19 @@
|
|||
using Penumbra.Meta.Manipulations;
|
||||
using Penumbra.Mods.Editor;
|
||||
using Penumbra.Mods.Groups;
|
||||
using Penumbra.String.Classes;
|
||||
|
||||
namespace Penumbra.Mods.SubMods;
|
||||
|
||||
using Penumbra.Meta.Manipulations;
|
||||
using Penumbra.Mods.Editor;
|
||||
using Penumbra.Mods.Groups;
|
||||
using Penumbra.String.Classes;
|
||||
|
||||
namespace Penumbra.Mods.SubMods;
|
||||
|
||||
public class DefaultSubMod(IMod mod) : IModDataContainer
|
||||
{
|
||||
public const string FullName = "Default Option";
|
||||
|
||||
internal readonly IMod Mod = mod;
|
||||
|
||||
public Dictionary<Utf8GamePath, FullPath> Files { get; set; } = [];
|
||||
public Dictionary<Utf8GamePath, FullPath> FileSwaps { get; set; } = [];
|
||||
public HashSet<MetaManipulation> Manipulations { get; set; } = [];
|
||||
public Dictionary<Utf8GamePath, FullPath> Files { get; set; } = [];
|
||||
public Dictionary<Utf8GamePath, FullPath> FileSwaps { get; set; } = [];
|
||||
public HashSet<MetaManipulation> Manipulations { get; set; } = [];
|
||||
|
||||
IMod IModDataContainer.Mod
|
||||
=> Mod;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue