fix(codegen): Code gens base armor and fixes code genning of other armors. (#696)
* Fixes code gen of save flags * Code gens rest of armor * Fixes some existing code genned armors * Code gens BaseArmor
This commit is contained in:
parent
803d594300
commit
c8a2605c0d
127 changed files with 1107 additions and 1959 deletions
|
|
@ -338,8 +338,8 @@ namespace SerializationGenerator
|
|||
Accessibility.Private
|
||||
);
|
||||
|
||||
source.GenerateEnumValue(" ", true, "None", -1);
|
||||
int index = 0;
|
||||
source.GenerateEnumValue(" ", true, "None", index++);
|
||||
foreach (var (_, order) in serializablePropertyFlagGetters)
|
||||
{
|
||||
source.GenerateEnumValue(" ", true, serializableProperties[order].Name, index++);
|
||||
|
|
|
|||
|
|
@ -130,16 +130,24 @@ namespace SerializationGenerator
|
|||
|
||||
if (usesSaveFlag)
|
||||
{
|
||||
source.AppendLine($"\n{indent}if ((saveFlags & SaveFlag.{property.Name}) != 0)\n{indent}{{");
|
||||
rule.GenerateDeserializationMethod(
|
||||
source,
|
||||
innerIndent,
|
||||
property,
|
||||
"this"
|
||||
);
|
||||
(rule as IPostDeserializeMethod)?.PostDeserializeMethod(source, innerIndent, property, compilation, classSymbol);
|
||||
|
||||
source.AppendLine($"{indent}}}");
|
||||
source.AppendLine();
|
||||
// Special case
|
||||
if (property.Type == "bool")
|
||||
{
|
||||
source.AppendLine($"{indent}{property.Name} = (saveFlags & SaveFlag.{property.Name}) != 0;");
|
||||
}
|
||||
else
|
||||
{
|
||||
source.AppendLine($"{indent}if ((saveFlags & SaveFlag.{property.Name}) != 0)\n{indent}{{");
|
||||
rule.GenerateDeserializationMethod(
|
||||
source,
|
||||
innerIndent,
|
||||
property,
|
||||
"this"
|
||||
);
|
||||
(rule as IPostDeserializeMethod)?.PostDeserializeMethod(source, innerIndent, property, compilation, classSymbol);
|
||||
source.AppendLine($"{indent}}}");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
|
|
@ -79,13 +79,17 @@ namespace SerializationGenerator
|
|||
|
||||
if (usesSaveFlag)
|
||||
{
|
||||
source.AppendLine($"\n{indent}if ((saveFlags & SaveFlag.{property.Name}) != 0)\n{indent}{{");
|
||||
SerializableMigrationRulesEngine.Rules[property.Rule].GenerateSerializationMethod(
|
||||
source,
|
||||
innerIndent,
|
||||
property
|
||||
);
|
||||
source.AppendLine($"{indent}}}");
|
||||
// Special case
|
||||
if (property.Type != "bool")
|
||||
{
|
||||
source.AppendLine($"\n{indent}if ((saveFlags & SaveFlag.{property.Name}) != 0)\n{indent}{{");
|
||||
SerializableMigrationRulesEngine.Rules[property.Rule].GenerateSerializationMethod(
|
||||
source,
|
||||
innerIndent,
|
||||
property
|
||||
);
|
||||
source.AppendLine($"{indent}}}");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
|
|
@ -54,8 +54,8 @@ namespace SerializationGenerator
|
|||
Accessibility.Private
|
||||
);
|
||||
|
||||
source.GenerateEnumValue(" ", true, "None", -1);
|
||||
int index = 0;
|
||||
source.GenerateEnumValue(innerIndent, true, "None", index++);
|
||||
foreach (var property in properties)
|
||||
{
|
||||
if (property.UsesSaveFlag == true)
|
||||
|
|
@ -82,16 +82,26 @@ namespace SerializationGenerator
|
|||
{
|
||||
if (property.UsesSaveFlag == true)
|
||||
{
|
||||
source.AppendLine($"\n{innerIndent}if ((saveFlags & V{migration.Version}SaveFlag.{property.Name}) != 0)\n{innerIndent}{{");
|
||||
SerializableMigrationRulesEngine.Rules[property.Rule].GenerateDeserializationMethod(
|
||||
source,
|
||||
$"{innerIndent} ",
|
||||
property,
|
||||
"entity"
|
||||
);
|
||||
source.AppendLine($"{innerIndent}}}\n{innerIndent}else\n{innerIndent}{{");
|
||||
source.AppendLine($"{innerIndent} {property.Name} = default;");
|
||||
source.AppendLine($"{innerIndent}}}");
|
||||
source.AppendLine();
|
||||
// Special case
|
||||
if (property.Type == "bool")
|
||||
{
|
||||
source.AppendLine($"{innerIndent}{property.Name} = (saveFlags & SaveFlag.{property.Name}) != 0;");
|
||||
}
|
||||
else
|
||||
{
|
||||
source.AppendLine($"{innerIndent}if ((saveFlags & V{migration.Version}SaveFlag.{property.Name}) != 0)\n{innerIndent}{{");
|
||||
SerializableMigrationRulesEngine.Rules[property.Rule].GenerateDeserializationMethod(
|
||||
source,
|
||||
$"{innerIndent} ",
|
||||
property,
|
||||
"entity"
|
||||
);
|
||||
|
||||
source.AppendLine($"{innerIndent}}}\n{innerIndent}else\n{innerIndent}{{");
|
||||
source.AppendLine($"{innerIndent} {property.Name} = default;");
|
||||
source.AppendLine($"{innerIndent}}}");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue