Renamed Difs to VariantGrid

This commit is contained in:
2026-06-13 21:27:52 +02:00
parent 965e8f8553
commit 659ddb7a10
324 changed files with 411 additions and 405 deletions

View File

@@ -94,16 +94,16 @@ namespace _2DGAMELIB
}
}
public static JointsD GetJointsD(this Difs JoinRoot, IEnumerable<Difs> EnumDifs)
public static JointsD GetJointsD(this VariantGrid JoinRoot, IEnumerable<VariantGrid> EnumDifs)
{
JointsD jointsD = new JointsD();
List<int> list = new List<int>();
List<Difs> list2 = EnumDifs.ToList();
List<VariantGrid> list2 = EnumDifs.ToList();
foreach (ShapePart item in JoinRoot.EnumAllPar())
{
int num = 0;
list.Clear();
foreach (Difs item2 in list2)
foreach (VariantGrid item2 in list2)
{
if (JoinRoot != item2)
{
@@ -141,7 +141,7 @@ namespace _2DGAMELIB
return jointsD;
}
private static void GetJointsD(List<Difs> dl, JointsD jsd, List<int> del)
private static void GetJointsD(List<VariantGrid> dl, JointsD jsd, List<int> del)
{
int num = -1;
int num2 = 0;
@@ -150,14 +150,14 @@ namespace _2DGAMELIB
num = jsd.Joins.Count;
for (int i = num2; i < num; i++)
{
Difs difs = jsd.Joins[i].Difs1;
foreach (ShapePart item in difs.EnumAllPar())
VariantGrid variantGrid = jsd.Joins[i].Difs1;
foreach (ShapePart item in variantGrid.EnumAllPar())
{
int num3 = 0;
del.Clear();
foreach (Difs item2 in dl)
foreach (VariantGrid item2 in dl)
{
if (difs != item2)
if (variantGrid != item2)
{
int num4 = 0;
foreach (JointPoint item3 in item.JP)
@@ -167,7 +167,7 @@ namespace _2DGAMELIB
{
if (v.DistanceSquared(item4.Position) <= IdentityDistance)
{
jsd.Joins.Add(new JointD(difs, item, num4, item2));
jsd.Joins.Add(new JointD(variantGrid, item, num4, item2));
if (!del.Contains(num3))
{
del.Add(num3);

View File

@@ -6,15 +6,15 @@ namespace _2DGAMELIB
[Serializable]
public class JointD
{
public Difs Difs0;
public VariantGrid Difs0;
public List<int> Path0;
public int Index;
public Difs Difs1;
public VariantGrid Difs1;
public JointD(Difs Difs0, ShapePart Par0, int Index, Difs Difs1)
public JointD(VariantGrid Difs0, ShapePart Par0, int Index, VariantGrid Difs1)
{
this.Difs0 = Difs0;
Path0 = Par0.GetPath();
@@ -22,7 +22,7 @@ namespace _2DGAMELIB
this.Difs1 = Difs1;
}
public JointD(Difs Difs1)
public JointD(VariantGrid Difs1)
{
this.Difs1 = Difs1;
}
@@ -41,7 +41,7 @@ namespace _2DGAMELIB
public void Set(JointS )
{
Difs0 = .Difs;
Difs0 = .VariantGrid;
Path0 = .Path;
Index = .Index;
}

View File

@@ -27,15 +27,15 @@ namespace _2DGAMELIB
[Serializable]
public class JointS
{
public Difs Difs;
public VariantGrid VariantGrid;
public List<int> Path;
public int Index;
public JointS(Difs Difs, ShapePart ShapePart, int Index)
public JointS(VariantGrid VariantGrid, ShapePart ShapePart, int Index)
{
this.Difs = Difs;
this.VariantGrid = VariantGrid;
Path = ShapePart.GetPath();
this.Index = Index;
}

View File

@@ -11,17 +11,17 @@ namespace _2DGAMELIB
{
public string Tag = "";
public OrderedDictionary<string, Difs> Difss = new OrderedDictionary<string, Difs>();
public OrderedDictionary<string, VariantGrid> Difss = new OrderedDictionary<string, VariantGrid>();
private Difs r;
private VariantGrid r;
private JointsD jsd;
public IEnumerable<string> Keys => Difss.Keys;
public IEnumerable<Difs> Values => Difss.Values;
public IEnumerable<VariantGrid> Values => Difss.Values;
public Difs this[string Name]
public VariantGrid this[string Name]
{
get
{
@@ -33,7 +33,7 @@ namespace _2DGAMELIB
}
}
public Difs this[int Index]
public VariantGrid this[int Index]
{
get
{
@@ -49,7 +49,7 @@ namespace _2DGAMELIB
{
set
{
foreach (Difs value2 in Difss.Values)
foreach (VariantGrid value2 in Difss.Values)
{
value2.PositionSize = value;
}
@@ -60,7 +60,7 @@ namespace _2DGAMELIB
{
set
{
foreach (Difs value2 in Difss.Values)
foreach (VariantGrid value2 in Difss.Values)
{
value2.PositionVector = value;
}
@@ -71,7 +71,7 @@ namespace _2DGAMELIB
{
set
{
foreach (Difs value2 in Difss.Values)
foreach (VariantGrid value2 in Difss.Values)
{
value2.AngleBase = value;
}
@@ -82,7 +82,7 @@ namespace _2DGAMELIB
{
set
{
foreach (Difs value2 in Difss.Values)
foreach (VariantGrid value2 in Difss.Values)
{
value2.AngleCont = value;
}
@@ -93,7 +93,7 @@ namespace _2DGAMELIB
{
set
{
foreach (Difs value2 in Difss.Values)
foreach (VariantGrid value2 in Difss.Values)
{
value2.SizeBase = value;
}
@@ -104,7 +104,7 @@ namespace _2DGAMELIB
{
set
{
foreach (Difs value2 in Difss.Values)
foreach (VariantGrid value2 in Difss.Values)
{
value2.SizeCont = value;
}
@@ -115,7 +115,7 @@ namespace _2DGAMELIB
{
set
{
foreach (Difs value2 in Difss.Values)
foreach (VariantGrid value2 in Difss.Values)
{
value2.SizeXBase = value;
}
@@ -126,7 +126,7 @@ namespace _2DGAMELIB
{
set
{
foreach (Difs value2 in Difss.Values)
foreach (VariantGrid value2 in Difss.Values)
{
value2.SizeXCont = value;
}
@@ -137,7 +137,7 @@ namespace _2DGAMELIB
{
set
{
foreach (Difs value2 in Difss.Values)
foreach (VariantGrid value2 in Difss.Values)
{
value2.SizeYBase = value;
}
@@ -148,7 +148,7 @@ namespace _2DGAMELIB
{
set
{
foreach (Difs value2 in Difss.Values)
foreach (VariantGrid value2 in Difss.Values)
{
value2.SizeYCont = value;
}
@@ -159,7 +159,7 @@ namespace _2DGAMELIB
{
set
{
foreach (Difs value2 in Difss.Values)
foreach (VariantGrid value2 in Difss.Values)
{
value2.Dra = value;
}
@@ -170,17 +170,17 @@ namespace _2DGAMELIB
{
set
{
foreach (Difs value2 in Difss.Values)
foreach (VariantGrid value2 in Difss.Values)
{
value2.Hit = value;
}
}
}
public Difs JoinRoot => r;
public VariantGrid JoinRoot => r;
public IEnumerable<ShapePart> EnumAllPar()
{
foreach (Difs value in Difss.Values)
foreach (VariantGrid value in Difss.Values)
{
foreach (ShapePart item in value.EnumAllPar())
{
@@ -191,7 +191,7 @@ namespace _2DGAMELIB
public Obj SetDefaultR()
{
foreach (Difs value in Difss.Values)
foreach (VariantGrid value in Difss.Values)
{
value.SetDefault();
}
@@ -206,24 +206,24 @@ namespace _2DGAMELIB
public void Draw(RenderArea Are)
{
foreach (Difs value in Difss.Values)
foreach (VariantGrid value in Difss.Values)
{
value.Draw(Are);
}
}
private Difs GetJoinRootDifs()
private VariantGrid GetJoinRootDifs()
{
Difs[] array = Difss.Values.ToArray();
VariantGrid[] array = Difss.Values.ToArray();
if (array.Length <= 1)
{
return array.FirstOrDefault();
}
ShapePart[] pa = EnumAllPar().ToArray();
Difs[] array2 = array;
VariantGrid[] array2 = array;
Vector2D p;
foreach (Difs difs in array2)
foreach (VariantGrid difs in array2)
{
if (difs.EnumJoinRoot.All(delegate(ShapePart p0)
{
@@ -239,8 +239,8 @@ namespace _2DGAMELIB
public void SetJoints()
{
Difs[] array = Difss.Values.ToArray();
Difs[] array2 = array;
VariantGrid[] array = Difss.Values.ToArray();
VariantGrid[] array2 = array;
for (int i = 0; i < array2.Length; i++)
{
array2[i].SetJoints();
@@ -265,7 +265,7 @@ namespace _2DGAMELIB
public void Dispose()
{
foreach (Difs value in Difss.Values)
foreach (VariantGrid value in Difss.Values)
{
value.Dispose();
}

View File

@@ -33,7 +33,7 @@ namespace _2DGAMELIB
public static void MigrateKeys(this Obj obj)
{
var newDict = new OrderedDictionary<string, Difs>();
var newDict = new OrderedDictionary<string, VariantGrid>();
foreach (var key in obj.Keys)
{

View File

@@ -62,39 +62,44 @@ namespace _2DGAMELIB
private string RemapTypeArgs(string typeName)
{
var sb = new StringBuilder(typeName.Length);
int i = 0;
while (i < typeName.Length)
// Find the generic arguments section: the outermost [...] containing [args]
int outerStart = typeName.LastIndexOf('`');
if (outerStart < 0) return typeName;
int bracketStart = -1;
for (int i = outerStart + 1; i < typeName.Length; i++)
{
int start = typeName.IndexOf('[', i);
if (start < 0 || start + 1 >= typeName.Length || typeName[start + 1] != '[')
if (typeName[i] == '[')
{
sb.Append(typeName, i, typeName.Length - i);
bracketStart = i;
break;
}
}
if (bracketStart < 0) return typeName;
sb.Append(typeName, i, start - i);
int depth = 0;
int bracketEnd = -1;
for (int i = bracketStart; i < typeName.Length; i++)
{
if (typeName[i] == '[') depth++;
else if (typeName[i] == ']') depth--;
if (depth == 0) { bracketEnd = i; break; }
}
if (bracketEnd < 0) return typeName;
int end = typeName.IndexOf("]]", start);
if (end < 0)
{
sb.Append(typeName, start, typeName.Length - start);
break;
}
var inner = typeName.Substring(bracketStart, bracketEnd - bracketStart + 1);
var argFull = typeName.Substring(start + 2, end - start - 2);
var comma = argFull.IndexOf(',');
var argTypeName = comma >= 0 ? argFull.Substring(0, comma).Trim() : argFull.Trim();
if (_typeOnlyMap.TryGetValue(argTypeName, out var mapped))
argFull = mapped.FullName + (comma >= 0 ? argFull.Substring(comma) : "");
sb.Append("[[").Append(argFull).Append("]]");
i = end + 2;
// Replace mapped old type names (longest first to avoid partial prefix matches)
var sortedKeys = new List<string>(_typeOnlyMap.Keys);
sortedKeys.Sort((a, b) => b.Length.CompareTo(a.Length));
foreach (var old in sortedKeys)
{
var rep = _typeOnlyMap[old].FullName;
inner = inner.Replace(old + ",", rep + ",");
inner = inner.Replace(old + "]", rep + "]");
}
return sb.ToString();
return typeName.Substring(0, bracketStart) + inner + typeName.Substring(bracketEnd + 1);
}
}
}

View File

@@ -20,7 +20,8 @@ namespace _2DGAMELIB
.Add("_2DGAMELIB.Pars", typeof(PartGroup))
.Add("_2DGAMELIB.Out", typeof(CurveOutline))
.Add("_2DGAMELIB.Joi", typeof(JointPoint))
.Add("_2DGAMELIB.Dif", typeof(MorphVariant));
.Add("_2DGAMELIB.Dif", typeof(MorphVariant))
.Add("_2DGAMELIB.Difs", typeof(VariantGrid));
private static BinaryFormatter NewFormatter()
{
@@ -36,7 +37,7 @@ namespace _2DGAMELIB
Formatting = Newtonsoft.Json.Formatting.Indented,
NullValueHandling = NullValueHandling.Ignore
};
settings.Converters.Add(new OrderedDictionaryConverter<string, Difs>());
settings.Converters.Add(new OrderedDictionaryConverter<string, VariantGrid>());
settings.Converters.Add(new OrderedDictionaryConverter<string, object>());
settings.Converters.Add(new OrderedDictionaryConverter<string, But>());
settings.Converters.Add(new OrderedDictionaryConverter<string, Lab>());

View File

@@ -7,7 +7,7 @@ using Newtonsoft.Json;
namespace _2DGAMELIB
{
[Serializable]
public class Difs
public class VariantGrid
{
public string Tag = "";
@@ -259,21 +259,21 @@ namespace _2DGAMELIB
}
}
public Difs()
public VariantGrid()
{
}
public Difs(Difs Difs)
public VariantGrid(VariantGrid VariantGrid)
{
Copy(Difs);
Copy(VariantGrid);
}
private void Copy(Difs Difs)
private void Copy(VariantGrid VariantGrid)
{
Tag = Difs.Tag;
ValueX = Difs.ValueX;
ValueY = Difs.ValueY;
foreach (MorphVariant dif in Difs.difs)
Tag = VariantGrid.Tag;
ValueX = VariantGrid.ValueX;
ValueY = VariantGrid.ValueY;
foreach (MorphVariant dif in VariantGrid.difs)
{
difs.Add(new MorphVariant(dif));
}