Starting implement deserialize migration
This commit is contained in:
28
2DGAMELIB/_2DGAMELIB/ObjExtensions.cs
Normal file
28
2DGAMELIB/_2DGAMELIB/ObjExtensions.cs
Normal 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -13,7 +13,6 @@ namespace _2DGAMELIB
|
|||||||
|
|
||||||
private static double s0;
|
private static double s0;
|
||||||
|
|
||||||
|
|
||||||
public static Color Reverse(this Color c)
|
public static Color Reverse(this Color c)
|
||||||
{
|
{
|
||||||
return Color.FromArgb(c.A, 255 - c.R, 255 - c.G, 255 - c.B);
|
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)
|
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;
|
return RNG.XS.NextDouble() < p;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,4 +6,9 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<ActiveDebugProfile>SlaveMatrix</ActiveDebugProfile>
|
<ActiveDebugProfile>SlaveMatrix</ActiveDebugProfile>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<EmbeddedResource Update="Properties\Resources.resx">
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</EmbeddedResource>
|
||||||
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
@@ -2,7 +2,7 @@ using _2DGAMELIB;
|
|||||||
|
|
||||||
namespace SlaveMatrix
|
namespace SlaveMatrix
|
||||||
{
|
{
|
||||||
public class 咳 : Ele
|
public class Cough : Ele
|
||||||
{
|
{
|
||||||
public Par X0Y0_咳基;
|
public Par X0Y0_咳基;
|
||||||
|
|
||||||
@@ -346,10 +346,10 @@ namespace SlaveMatrix
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public 咳(double DisUnit, 配色指定 配色指定, 体配色 体配色, Med Med, 咳D e)
|
public Cough(double DisUnit, 配色指定 配色指定, 体配色 体配色, Med Med, 咳D e)
|
||||||
{
|
{
|
||||||
ThisType = GetType();
|
ThisType = GetType();
|
||||||
本体 = new Difs(Sta.胴体["咳"]);
|
本体 = new Difs(Sta.胴体["Cough"]);
|
||||||
Pars pars = 本体[0][0];
|
Pars pars = 本体[0][0];
|
||||||
X0Y0_咳基 = pars["咳基"].ToPar();
|
X0Y0_咳基 = pars["咳基"].ToPar();
|
||||||
X0Y0_雫1 = pars["雫1"].ToPar();
|
X0Y0_雫1 = pars["雫1"].ToPar();
|
||||||
@@ -25,7 +25,7 @@ namespace SlaveMatrix
|
|||||||
|
|
||||||
public override Ele GetEle(double DisUnit, Med Med, 体配色 体配色)
|
public override Ele GetEle(double DisUnit, Med Med, 体配色 体配色)
|
||||||
{
|
{
|
||||||
return new 咳(DisUnit, 配色指定, 体配色, Med, this);
|
return new Cough(DisUnit, 配色指定, 体配色, Med, this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -120,7 +120,7 @@ namespace SlaveMatrix
|
|||||||
|
|
||||||
public 性器精液_人 口精液;
|
public 性器精液_人 口精液;
|
||||||
|
|
||||||
public 咳 咳;
|
public Cough 咳;
|
||||||
|
|
||||||
public 呼気 呼気;
|
public 呼気 呼気;
|
||||||
|
|
||||||
@@ -4009,7 +4009,7 @@ namespace SlaveMatrix
|
|||||||
涎右.SetHitFalse();
|
涎右.SetHitFalse();
|
||||||
口精液 = 頭.口_接続.GetEle<性器精液_人>();
|
口精液 = 頭.口_接続.GetEle<性器精液_人>();
|
||||||
口精液.SetHitFalse();
|
口精液.SetHitFalse();
|
||||||
咳 = 頭.口_接続.GetEle<咳>();
|
咳 = 頭.口_接続.GetEle<Cough>();
|
||||||
咳.SetHitFalse();
|
咳.SetHitFalse();
|
||||||
呼気 = 頭.口_接続.GetEle<呼気>();
|
呼気 = 頭.口_接続.GetEle<呼気>();
|
||||||
呼気.SetHitFalse();
|
呼気.SetHitFalse();
|
||||||
|
|||||||
@@ -1084,7 +1084,10 @@ namespace SlaveMatrix
|
|||||||
|
|
||||||
static Sta()
|
static Sta()
|
||||||
{
|
{
|
||||||
胴体 = Resources.胴体.ObjLoad();
|
var obj = Resources.胴体.ObjLoad();
|
||||||
|
obj.MigrateKeys();
|
||||||
|
胴体 = obj;
|
||||||
|
|
||||||
//胴体.SaveExMod("C:\\Users\\dave\\Documents\\胴体");
|
//胴体.SaveExMod("C:\\Users\\dave\\Documents\\胴体");
|
||||||
//Ser.ToJson(胴体, "C:\\Users\\dave\\Documents\\胴体.json");
|
//Ser.ToJson(胴体, "C:\\Users\\dave\\Documents\\胴体.json");
|
||||||
//胴体 = Ser.UnJson<Obj>("C:\\Users\\dave\\Documents\\胴体.json");
|
//胴体 = Ser.UnJson<Obj>("C:\\Users\\dave\\Documents\\胴体.json");
|
||||||
|
|||||||
Reference in New Issue
Block a user