Skip to content

Commit 0042774

Browse files
committed
Forgot to commit....
1 parent e0f4a27 commit 0042774

File tree

4 files changed

+4
-74
lines changed

4 files changed

+4
-74
lines changed

src/Json/EnumCacheJson.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
namespace PolyMod.Json;
55

6-
internal class EnumCacheJson<T> : JsonConverter<T> where T : struct, Enum
6+
public class EnumCacheJson<T> : JsonConverter<T> where T : struct, Enum
77
{
88
public override T Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
99
{

src/Json/Vector2Json.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
namespace PolyMod.Json;
66

7-
internal class Vector2Json : JsonConverter<Vector2>
7+
public class Vector2Json : JsonConverter<Vector2>
88
{
99
public override Vector2 Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
1010
{

src/Json/VersionJson.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
namespace PolyMod.Json;
55

6-
internal class VersionJson : JsonConverter<Version>
6+
public class VersionJson : JsonConverter<Version>
77
{
88
public override Version? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
99
{

src/Loader.cs

Lines changed: 1 addition & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -571,7 +571,6 @@ public static void LoadGameLogicDataPatch(Mod mod, JObject gld, JObject patch)
571571
{
572572
try
573573
{
574-
HandleSkins(gld, patch);
575574
foreach (JToken jtoken in patch.SelectTokens("$.*.*").ToArray())
576575
{
577576
JObject? token = jtoken.TryCast<JObject>();
@@ -616,7 +615,7 @@ public static void LoadGameLogicDataPatch(Mod mod, JObject gld, JObject patch)
616615
}
617616
}
618617
}
619-
gld.Merge(patch, new() { MergeArrayHandling = MergeArrayHandling.Replace, MergeNullValueHandling = MergeNullValueHandling.Merge });
618+
gld = JsonMerger.Merge(gld, patch);
620619
Plugin.logger.LogInfo($"Registered patch from {mod.id} mod");
621620
}
622621
catch (Exception e)
@@ -633,73 +632,4 @@ public static void LoadAssetBundle(Mod mod, Mod.File file)
633632
AssetBundle.LoadFromMemory(file.bytes)
634633
);
635634
}
636-
637-
public static void HandleSkins(JObject gld, JObject patch)
638-
{
639-
foreach (JToken jtoken in patch.SelectTokens("$.tribeData.*").ToArray())
640-
{
641-
JObject token = jtoken.Cast<JObject>();
642-
643-
if (token["skins"] != null)
644-
{
645-
JArray skins = token["skins"].Cast<JArray>();
646-
List<string> skinsToRemove = new();
647-
List<JToken> skinValues = skins._values.ToArray().ToList();
648-
foreach (var skin in skinValues)
649-
{
650-
string skinValue = skin.ToString();
651-
if (skinValue.StartsWith('-') && Enum.TryParse<SkinType>(skinValue.Substring(1), out _))
652-
{
653-
skinsToRemove.Add(skinValue.Substring(1));
654-
}
655-
else if (!Enum.TryParse<SkinType>(skinValue, out _))
656-
{
657-
EnumCache<SkinType>.AddMapping(skinValue.ToLowerInvariant(), (SkinType)Registry.autoidx);
658-
EnumCache<SkinType>.AddMapping(skinValue.ToLowerInvariant(), (SkinType)Registry.autoidx);
659-
Registry.skinInfo.Add(new Visual.SkinInfo(Registry.autoidx, skinValue, null));
660-
Plugin.logger.LogInfo("Created mapping for skinType with id " + skinValue + " and index " + Registry.autoidx);
661-
Registry.autoidx++;
662-
}
663-
}
664-
foreach (var skin in Registry.skinInfo)
665-
{
666-
if (skins._values.Contains(skin.id))
667-
{
668-
skins._values.Remove(skin.id);
669-
skins._values.Add(skin.idx);
670-
}
671-
}
672-
JToken originalSkins = gld.SelectToken(skins.Path, false);
673-
if (originalSkins != null)
674-
{
675-
skins.Merge(originalSkins);
676-
foreach (var skin in skinsToRemove)
677-
{
678-
skins._values.Remove(skin);
679-
skins._values.Remove("-" + skin);
680-
}
681-
}
682-
}
683-
}
684-
foreach (JToken jtoken in patch.SelectTokens("$.skinData.*").ToArray())
685-
{
686-
JObject token = jtoken.Cast<JObject>();
687-
string id = Util.GetJTokenName(token);
688-
int index = Registry.skinInfo.FindIndex(t => t.id == id);
689-
if (Registry.skinInfo.ElementAtOrDefault(index) != null)
690-
{
691-
SkinData skinData = new();
692-
if (token["color"] != null)
693-
{
694-
skinData.color = (int)token["color"];
695-
}
696-
if (token["language"] != null)
697-
{
698-
skinData.language = token["language"].ToString();
699-
}
700-
Registry.skinInfo[index] = new Visual.SkinInfo(Registry.skinInfo[index].idx, Registry.skinInfo[index].id, skinData);
701-
}
702-
}
703-
patch.Remove("skinData");
704-
}
705635
}

0 commit comments

Comments
 (0)