コード例 #1
0
        private void EndCrawler()
        {
            string dirPath = crawler.saveDirectory;

            // directory
            SaveFrameDebuggerEventsCsv(dirPath);
            SaveDetailJsonData(dirPath);
            crawler = null;
            OnEndAct?.Invoke();
        }
コード例 #2
0
        public void Execute(FrameInfoCrawler.CaptureFlag flag, System.Action endCall = null)
        {
            this.captureFlag = flag;
            if (this.reflectionCache == null)
            {
                this.reflectionCache = new ReflectionCache();
            }
            this.OnEndAct = endCall;

            var frameDebuggeUtil = reflectionCache.GetTypeObject("UnityEditorInternal.FrameDebuggerUtility");

            // show FrameDebuggerWindow
            var    frameDebuggerWindow = reflectionCache.GetTypeObject("UnityEditor.FrameDebuggerWindow");
            object windowObj           = frameDebuggerWindow.CallMethod <object>("ShowFrameDebuggerWindow", null, null);

            frameDebuggerWindow.CallMethod <object>("EnableIfNeeded", windowObj, null);
            if (crawler == null)
            {
                crawler = new FrameInfoCrawler(this.reflectionCache);
            }
            crawler.Request(flag, EndCrawler);
        }