示例#1
0
        private void SaveDoll(UIComponentEvent _)
        {
            var path = configFilePath();

            EnsureDir(path);
            var file = File.Create(path);

            binaryFormatter.Serialize(file, doll.ToConfig());
            file.Close();
        }
示例#2
0
        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
        }
示例#3
0
        private void LoadDoll(UIComponentEvent _)
        {
            var config = DollConfig.FromFile(binaryFormatter, configFilePath());

            doll.SetFromConfig(config);
        }