public void Run()
        {
            MouseInput();

            if (UndoEvt.IsEmpty() && RedoEvt.IsEmpty())
            {
                return;
            }
            Counters(undo: !UndoEvt.IsEmpty(), redo: !RedoEvt.IsEmpty(), false);
            _preventHistoryInsert = true;
            if (!_preventSelectionSet)
            {
                (var history, var id) = Globals <PersistentUndoRedoState> .Value;
                SelectionEntry entry = history[id];
                if (entry.Valid())
                {
                    Selection.objects = entry.IsGuids
                        ? entry.Guids.Select(AssetDatabase.GUIDToAssetPath).Select(AssetDatabase.LoadAssetAtPath <Object>).Where(obj => obj).ToArray()
                        : entry.SceneObjects;
                }
            }

            _preventSelectionSet = false;

            UndoEvt.AllDestroy();
            RedoEvt.AllDestroy();
        }
示例#2
0
        public void Run()
        {
            var wd = Globals <WindowData> .Value;

            if (Repaint.IsEmpty())
            {
                return;
            }
            wd.Window.Repaint();
            InternalEditorUtility.RepaintAllViews();
            Repaint.AllDestroy();
        }
示例#3
0
        public void Run()
        {
            if (_from.IsEmpty())
            {
                return;
            }

            SearchArgMain.AllDestroy();
            ScenePaths.AllDestroy();
            FileResultRows.AllDestroy();
            SceneResultRows.AllDestroy();

            var wd = Globals <WindowData> .Value;

            if (wd.Window)
            {
                wd.Window.Repaint();
            }

            foreach (var i in _from.Out(out var get1, out _))
            {
                var t1 = get1[i];
                if (!t1.Target)
                {
                    continue;
                }
                wd.FindFrom = t1.From;

                try {
                    switch (t1.From)
                    {
                    case FindModeEnum.Scene:
                        World.NewEntityWith(out SearchArg st);
                        SearchUtils.Init(st, t1.Target, t1.Scene);
                        SearchUtils.InScene(st, t1.Scene);
                        break;

                    case FindModeEnum.File:
                        World.NewEntityWith(out SearchArg arg);
                        SearchUtils.Init(arg, t1.Target);
                        SearchUtils.FilesThatReference(arg);
                        SearchUtils.ScenesThatContain(t1.Target);
                        break;
                    }
                }
                catch (Exception e) {
                    Debug.LogException(e);
                }
            }

            _from.AllUnset <SelectionChanged>();
        }