123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- namespace AtlasUtility
- {
- using UnityEditor;
- using UnityEngine;
- using System.IO;
- public class SerializeObject : MonoBehaviour
- {
- #region Variable
- public static string DefaultPath
- {
- get { return DefaultDirectory + DefaultName; }
- }
- public static string SerializeObjectPath
- {
- get { return AssetDatabase.GUIDToAssetPath(SerializeObjectGUID); }
- }
- public static string SerializeObjectGUID
- {
- get { return PlayerPrefs.GetString(Key_SerializeObjectGUID, ""); }
- }
- private static string DefaultName = "SerializeObject.prefab";
- private static string DefaultDirectory = "Assets/AtlasUtility/";
- private static string Key_SerializeObjectGUID = "AtlasUtility_SerializeObjectGUID";
- #endregion
- public static AtlasUtility GetAtlasUtility()
- {
- if (File.Exists(SerializeObjectPath))
- {
- return AssetDatabase.LoadAssetAtPath<AtlasUtility>(SerializeObjectPath);
- }
- else
- {
- Create();
- return AssetDatabase.LoadAssetAtPath<AtlasUtility>(SerializeObjectPath);
- }
- }
- public static void Create()
- {
- if (!Directory.Exists(DefaultDirectory))
- {
- Directory.CreateDirectory(DefaultDirectory);
- }
- GameObject serializeObject = new GameObject("AtlasUtility_SerializeObject");
- serializeObject.AddComponent<AtlasUtility>();
- PrefabUtility.CreatePrefab(DefaultPath, serializeObject);
- DestroyImmediate(serializeObject);
- PlayerPrefs.SetString(Key_SerializeObjectGUID, AssetDatabase.AssetPathToGUID(DefaultPath));
- }
- }
- }
|