Esempio n. 1
0
    public static void CreateDebugObject(object obj)
    {
        if (!Logger.IsEditor || !Application.isPlaying || IsApplicationQuited)
        {
            return;
        }

        KAsync.AddMainThreadCall(() =>
        {
            try
            {
                var newDebugger =
                    new GameObject(string.Format("{0}-{1}", obj.ToString(), obj.GetType()))
                    .AddComponent <KObjectDebugger>();
                newDebugger.WatchObject = obj;

                KDebuggerObjectTool.SetParent(ContainerName, obj.GetType().Name, newDebugger.gameObject);

                Cache[obj] = newDebugger;
            }
            catch (Exception e)
            {
                Logger.LogError(e.Message);
            }
        });
    }
Esempio n. 2
0
 // 可供调试删资源
 private void OnDestroy()
 {
     if (!IsRemoveFromParent)
     {
         KDebuggerObjectTool.RemoveFromParent(bigType, Type, gameObject);
         IsRemoveFromParent = true;
     }
 }
Esempio n. 3
0
 private void Update()
 {
     if (TheObject == null && !IsRemoveFromParent)
     {
         KDebuggerObjectTool.RemoveFromParent(bigType, Type, gameObject);
         IsRemoveFromParent = true;
     }
 }
Esempio n. 4
0
    public static KResoourceLoadedAssetDebugger Create(string type, string url, UnityEngine.Object theObject)
    {
        var newHelpGameObject = new GameObject(string.Format("LoadedObject-{0}-{1}", type, url));

        KDebuggerObjectTool.SetParent(bigType, type, newHelpGameObject);

        var newHelp = newHelpGameObject.AddComponent <KResoourceLoadedAssetDebugger>();

        newHelp.Type       = type;
        newHelp.TheObject  = theObject;
        newHelp.MemorySize = string.Format("{0:F5}KB", Profiler.GetRuntimeMemorySize(theObject) / 1024f);
        return(newHelp);
    }
Esempio n. 5
0
    public static KResourceLoaderDebugger Create(string type, string url, KAbstractResourceLoader loader)
    {
        if (IsApplicationQuit)
        {
            return(null);
        }

        const string bigType = "ResourceLoaderDebuger";

        Func <string> getName = () => string.Format("{0}-{1}-{2}", type, url, loader.Desc);

        var newHelpGameObject = new GameObject(getName());

        KDebuggerObjectTool.SetParent(bigType, type, newHelpGameObject);
        var newHelp = newHelpGameObject.AddComponent <KResourceLoaderDebugger>();

        newHelp.TheLoader = loader;

        loader.SetDescEvent += (newDesc) =>
        {
            if (loader.RefCount > 0)
            {
                newHelpGameObject.name = getName();
            }
        };


        loader.DisposeEvent += () =>
        {
            if (!IsApplicationQuit)
            {
                KDebuggerObjectTool.RemoveFromParent(bigType, type, newHelpGameObject);
            }
        };


        return(newHelp);
    }