Esempio n. 1
0
        public static SetterAsset Deserialize(string path)
        {
            SetterAsset asset = ScriptableObject.CreateInstance <SetterAsset>();

            using (var fs = new FileStream(path, FileMode.Open))
            {
                try
                {
                    var contexts = s_XmlSerializer.Deserialize(fs) as List <SetterContext>;
                    if (contexts != null)
                    {
                        asset.m_Contexts = contexts;
                    }
                    var dir = path.Substring(0, path.LastIndexOf('/'));
                    foreach (var ctx in contexts)
                    {
                        ctx.SetDirectory(dir);
                    }
                }
                catch (Exception ex)
                {
                    Debug.LogException(ex);
                }
            }

            return(asset);
        }
Esempio n. 2
0
 public static void Serialize(SetterAsset asset, string path)
 {
     using (var fs = new FileStream(path, FileMode.Create))
     {
         s_XmlSerializer.Serialize(fs, asset.m_Contexts);
         EditorUtility.SetDirty(asset);
     }
 }
Esempio n. 3
0
 public static string Serialize(SetterAsset asset)
 {
     using (MemoryStream ms = new MemoryStream())
     {
         s_XmlSerializer.Serialize(ms, asset.m_Contexts);
         ms.Seek(0, SeekOrigin.Begin);
         return(new StreamReader(ms).ReadToEnd());
     }
 }
Esempio n. 4
0
        public override void OnImportAsset(AssetImportContext ctx)
        {
            string      text  = System.IO.File.ReadAllText(ctx.assetPath);
            SetterAsset asset = ScriptableObject.CreateInstance <SetterAsset>();

            asset.m_XML = text;
            Serializer.Deserialize(asset, text);
            ctx.AddObjectToAsset("MainAsset", asset);
            ctx.SetMainObject(asset);
            SetterAssetCache.SetDirty();
        }
Esempio n. 5
0
 public static void Deserialize(SetterAsset asset, string text)
 {
     if (string.IsNullOrEmpty(text))
     {
         asset.m_XML      = "";
         asset.m_Contexts = new List <SetterContext>();
         return;
     }
     using (var ms = new MemoryStream(Encoding.UTF8.GetBytes(text)))
     {
         try
         {
             var ctx = (List <SetterContext>)s_XmlSerializer.Deserialize(ms);
             asset.m_Contexts = ctx;
         }
         catch (Exception ex)
         {
             Debug.LogException(ex);
             asset.m_XML      = "";
             asset.m_Contexts = new List <SetterContext>();
         }
     }
 }
Esempio n. 6
0
 private void OnEnable()
 {
     m_Asset = target as SetterAsset;
 }