public void GetMeshProperties() { //model = new PropertiesModel_Mesh(); //model.SetParent(this); int submeshCount = IGCore.GetMeshSubmeshCount(sMeshName); IntPtr submeshNamesPtr = IGCore.GetMeshSubmeshNames(sMeshName);// TODO : Manually free memory. var submeshNameList = GetAllStrings(submeshNamesPtr, submeshCount); for (var i = 0; i < submeshCount; i++) { var newPathLoader = new PathLoader(); newPathLoader.Init(); newPathLoader.Id = submeshNameList[i]; newPathLoader.model.LabelText = submeshNameList[i]; newPathLoader.model.MaterialUniqueName = Marshal.PtrToStringUni(IGCore.GetMeshSubmeshMaterialUniqueName(sMeshName, submeshNameList[i])); newPathLoader.parent = this; MaterialPanel.Children.Add(newPathLoader); pathLoaders.Add(newPathLoader); } }