private void SaveDoll(UIComponentEvent _) { var path = configFilePath(); EnsureDir(path); var file = File.Create(path); binaryFormatter.Serialize(file, doll.ToConfig()); file.Close(); }
private void SaveDollPrefab(UIComponentEvent _) { #if UNITY_EDITOR var prefabFile = $"{directoryInput.text}/Prefabs/{filenameInput.text}.prefab"; EnsureDir(prefabFile); var prefab = new GameObject(); // Save materials to prefab var materialDir = $"{directoryInput.text}/Materials"; EnsureDir($"{materialDir}/_.mat"); doll.Optimize(prefab.transform, (partType, material) => { var partName = Enum.GetName(typeof(DollPartType), partType); var materialPath = $"{materialDir}/{filenameInput.text}_{partName}.mat"; AssetDatabase.CreateAsset(material, materialPath); }); PrefabUtility.SaveAsPrefabAsset(prefab, prefabFile); // remove the new prefab in the scene Destroy(prefab); #endif }
private void LoadDoll(UIComponentEvent _) { var config = DollConfig.FromFile(binaryFormatter, configFilePath()); doll.SetFromConfig(config); }