Fix type conversion bug

This commit is contained in:
Perfare 2022-05-21 05:46:44 +08:00
parent 50485a9bd3
commit 973d50ce8b
2 changed files with 15 additions and 11 deletions

View File

@ -40,9 +40,11 @@ namespace AssetStudio
value = reader.ReadSByte();
break;
case "UInt8":
case "char":
value = reader.ReadByte();
break;
case "char":
value = BitConverter.ToChar(reader.ReadBytes(2), 0);
break;
case "short":
case "SInt16":
value = reader.ReadInt16();
@ -82,7 +84,8 @@ namespace AssetStudio
append = false;
var str = reader.ReadAlignedString();
sb.AppendFormat("{0}{1} {2} = \"{3}\"\r\n", (new string('\t', level)), varTypeStr, varNameStr, str);
i += 3;
var toSkip = GetNodes(m_Nodes, i);
i += toSkip.Count - 1;
break;
case "map":
{
@ -233,7 +236,8 @@ namespace AssetStudio
break;
case "string":
value = reader.ReadAlignedString();
i += 3;
var toSkip = GetNodes(m_Nodes, i);
i += toSkip.Count - 1;
break;
case "map":
{

View File

@ -253,28 +253,28 @@ namespace AssetStudio
switch (typeRef.FullName)
{
case "UnityEngine.AnimationCurve":
Helper.AddAnimationCurve(nodes, name, indent + 1);
Helper.AddAnimationCurve(nodes, name, indent);
break;
case "UnityEngine.Gradient":
Helper.AddGradient(nodes, name, indent + 1);
Helper.AddGradient(nodes, name, indent);
break;
case "UnityEngine.GUIStyle":
Helper.AddGUIStyle(nodes, name, indent + 1);
Helper.AddGUIStyle(nodes, name, indent);
break;
case "UnityEngine.RectOffset":
Helper.AddRectOffset(nodes, name, indent + 1);
Helper.AddRectOffset(nodes, name, indent);
break;
case "UnityEngine.Color32":
Helper.AddColor32(nodes, name, indent + 1);
Helper.AddColor32(nodes, name, indent);
break;
case "UnityEngine.Matrix4x4":
Helper.AddMatrix4x4(nodes, name, indent + 1);
Helper.AddMatrix4x4(nodes, name, indent);
break;
case "UnityEngine.Rendering.SphericalHarmonicsL2":
Helper.AddSphericalHarmonicsL2(nodes, name, indent + 1);
Helper.AddSphericalHarmonicsL2(nodes, name, indent);
break;
case "UnityEngine.PropertyName":
Helper.AddPropertyName(nodes, name, indent + 1);
Helper.AddPropertyName(nodes, name, indent);
break;
}
}