Starting implement deserialize migration

This commit is contained in:
Absolutely disgusting
2025-10-23 19:11:17 +04:00
parent 4d6aee63fb
commit c9c37113d3
7 changed files with 48 additions and 11 deletions

View File

@@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace _2DGAMELIB
{
public static class ObjExtensions
{
static readonly Dictionary<string, string> KeyMap = new()
{
["咳"] = "Cough"
};
public static void MigrateKeys(this Obj obj)
{
var newDict = new OrderedDictionary<string, Difs>();
foreach (var key in obj.Keys)
{
var newKey = KeyMap.TryGetValue(key, out var mapped) ? mapped : key;
newDict.Add(newKey, obj.Difss[key]);
}
obj.Difss = newDict;
}
}
}

View File

@@ -13,7 +13,6 @@ namespace _2DGAMELIB
private static double s0;
public static Color Reverse(this Color c)
{
return Color.FromArgb(c.A, 255 - c.R, 255 - c.G, 255 - c.B);
@@ -159,10 +158,12 @@ namespace _2DGAMELIB
public static Obj ObjLoad(this byte[] bd)
{
return bd.Load<byte[]>().ToDeserialObject<Obj>().SetDefaultR();
}
Obj obj = bd.Load<byte[]>().ToDeserialObject<Obj>().SetDefaultR();
return obj;
}
public static bool Lot(this double p)
public static bool Lot(this double p)
{
return RNG.XS.NextDouble() < p;
}