35 lines
1.0 KiB
C#
35 lines
1.0 KiB
C#
using System.Collections.Generic;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
using AssetStudio;
|
|
|
|
namespace AssetStudioGUI
|
|
{
|
|
internal class TypeTreeItem : ListViewItem
|
|
{
|
|
private TypeTree m_Type;
|
|
|
|
public TypeTreeItem(int typeID, TypeTree m_Type)
|
|
{
|
|
this.m_Type = m_Type;
|
|
Text = m_Type.m_Nodes[0].m_Type + " " + m_Type.m_Nodes[0].m_Name;
|
|
SubItems.Add(typeID.ToString());
|
|
}
|
|
|
|
public override string ToString()
|
|
{
|
|
var sb = new StringBuilder();
|
|
for (var i = 0; i < m_Type.m_Nodes.Count; i++)
|
|
{
|
|
var node = m_Type.m_Nodes[i];
|
|
if (node.m_Type == "string" && m_Type.m_Nodes[i + 1].m_Type != "Array")
|
|
node.m_Type = "CustomType";
|
|
|
|
sb.AppendFormat("{0}{1} {2} {3} {4}\r\n",
|
|
new string('\t', node.m_Level), node.m_Type, node.m_Name, node.m_ByteSize, (node.m_MetaFlag & 0x4000) != 0);
|
|
}
|
|
return sb.ToString();
|
|
}
|
|
}
|
|
}
|