public void LoadMaterial(string fileName) { MaterialSave material = MaterialSave.FromFile(fileName); if (material.EffectFiles.Count != mParts.Count) { throw new System.FormatException("The material " + Path.GetFileName(fileName) + " has " + material.EffectFiles.Count + ", which is not equal to the number of mesh parts on the current model (" + mParts.Count + "). Make sure the current model is the same that the material was saved for."); } else { // Load all effects for (int i = 0; i < material.EffectFiles.Count; i++) { string effectShortName = AddEffect(material.EffectFiles[i]); AddParameters(material.EffectParameterFiles[i], effectShortName); } // Set all effects for (int i = 0; i < material.EffectFiles.Count; i++) { SetPartEffect(i, ShortName(material.EffectFiles[i])); SetPartParameters(i, ShortName(material.EffectParameterFiles[i])); } } }
public MaterialViewModel() { material = new Material(); SaveCommand = new MaterialSave(this); barcode = new ObservableCollection <Barcode>(); }
public void SaveMaterial(string fileName) { MaterialSave material = new MaterialSave(); foreach (PartMaterial part in mParts) { // Add to effect material.EffectFiles.Add(mEffectFilenames[part.EffectName]); material.EffectParameterFiles.Add(mParametersFilenames[part.ParametersName]); // Save parameters mParametersDictionary[part.ParametersName].Save(mParametersFilenames[part.ParametersName]); } material.FileName = fileName; material.Save(fileName); }