Ejemplo n.º 1
0
        private static void HandleScriptsChange(string[] importedAssets, string[] deletedAssets, string[] movedAssets)
        {
            bool hasScriptAssets = false;

            string[] assets = new string[0];
            ArrayUtility.AddRange(ref assets, importedAssets);
            ArrayUtility.AddRange(ref assets, deletedAssets);
            ArrayUtility.AddRange(ref assets, movedAssets);

            if (assets != null)
            {
                foreach (var item in assets)
                {
                    if (Utility.IsScriptAsset(item))
                    {
                        hasScriptAssets = true;
                        break;
                    }
                }
            }

            if (hasScriptAssets)
            {
                APCache.SaveToLocalAsync();
            }
        }
        public static void Process(WebViewCommunicationService service, bool saveToLocal = false)
        {
            if (!Enable)
            {
                return;
            }

            if (!IfNeedToProcess())
            {
                return;
            }

            var modifed   = LoopDequeueToList(ModifiedAssets);
            var deleted   = LoopDequeueToList(DeleteAssets);
            var movedFrom = LoopDequeueToList(MovedFromAssets);
            var movedTo   = LoopDequeueToList(MovedToAssets);
            var added     = LoopDequeueToList(AddedAssets);

            service.DoAssetsChange(added, deleted, modifed, movedFrom, movedTo);

            if (saveToLocal)
            {
                APCache.SaveToLocalAsync();
            }

            Resources.UnloadUnusedAssets();
        }
Ejemplo n.º 3
0
 private static void PlaymodeStateChanged()
 {
     if (EditorApplication.isPlayingOrWillChangePlaymode && !EditorApplication.isPlaying)
     {
         Utility.DebugLog("APCache.SaveToLocalAsync()");
         APCache.SaveToLocalAsync();
     }
 }