diff --git a/AssetStudio/Classes/Material.cs b/AssetStudio/Classes/Material.cs index 64b95e3..5d94fc6 100644 --- a/AssetStudio/Classes/Material.cs +++ b/AssetStudio/Classes/Material.cs @@ -18,44 +18,44 @@ public UnityTexEnv(ObjectReader reader) public class UnityPropertySheet { - public KeyValuePair[] m_TexEnvs; - public KeyValuePair[] m_Ints; - public KeyValuePair[] m_Floats; - public KeyValuePair[] m_Colors; + public Dictionary m_TexEnvs; + public Dictionary m_Ints; + public Dictionary m_Floats; + public Dictionary m_Colors; public UnityPropertySheet(ObjectReader reader) { var version = reader.version; int m_TexEnvsSize = reader.ReadInt32(); - m_TexEnvs = new KeyValuePair[m_TexEnvsSize]; + m_TexEnvs = new Dictionary(m_TexEnvsSize); for (int i = 0; i < m_TexEnvsSize; i++) { - m_TexEnvs[i] = new KeyValuePair(reader.ReadAlignedString(), new UnityTexEnv(reader)); + m_TexEnvs.Add(reader.ReadAlignedString(), new UnityTexEnv(reader)); } if (version[0] >= 2021) //2021.1 and up { int m_IntsSize = reader.ReadInt32(); - m_Ints = new KeyValuePair[m_IntsSize]; + m_Ints = new Dictionary(m_IntsSize); for (int i = 0; i < m_IntsSize; i++) { - m_Ints[i] = new KeyValuePair(reader.ReadAlignedString(), reader.ReadInt32()); + m_Ints.Add(reader.ReadAlignedString(), reader.ReadInt32()); } } int m_FloatsSize = reader.ReadInt32(); - m_Floats = new KeyValuePair[m_FloatsSize]; + m_Floats = new Dictionary(m_FloatsSize); for (int i = 0; i < m_FloatsSize; i++) { - m_Floats[i] = new KeyValuePair(reader.ReadAlignedString(), reader.ReadSingle()); + m_Floats.Add(reader.ReadAlignedString(), reader.ReadSingle()); } int m_ColorsSize = reader.ReadInt32(); - m_Colors = new KeyValuePair[m_ColorsSize]; + m_Colors = new Dictionary(m_ColorsSize); for (int i = 0; i < m_ColorsSize; i++) { - m_Colors[i] = new KeyValuePair(reader.ReadAlignedString(), reader.ReadColor4()); + m_Colors.Add(reader.ReadAlignedString(), reader.ReadColor4()); } } }