Пример #1
0
        //-----------------------------------------------------------------------------------
        public void UnselectSelected()
        {
            listSelectedIdx_.Clear();

            CRManagerEditor window = CRManagerEditor.Instance;

            window.RepaintSubscribers();
        }
Пример #2
0
        //-----------------------------------------------------------------------------------
        public void FilterAlreadySelectedNodes()
        {
            listCommandNodeCurrent_.Clear();
            listCommandNodeCurrent_.AddRange(listCommandNodeAllowed_);

            foreach (CommandNode cNode in listCommandNodeAllowed_)
            {
                if (field_.ContainsNode(cNode))
                {
                    FilterChildrenAndMergeFieldWithParents(cNode);
                }
            }

            CRManagerEditor instance = CRManagerEditor.Instance;

            instance.RepaintSubscribers();
        }
Пример #3
0
        //-----------------------------------------------------------------------------------
        public void OnClickItem(int itemIdx, bool ctrlPressed, bool shiftPressed, bool altPressed, bool isUpClick)
        {
            int prevIdx = lastSelectedIdx_;

            lastSelectedIdx_ = itemIdx;

            if (!isUpClick)
            {
                if (shiftPressed)
                {
                    if (prevIdx != -1)
                    {
                        int range     = itemIdx - prevIdx;
                        int increment = (range > 0) ? 1 : -1;

                        while (prevIdx != itemIdx)
                        {
                            int currentIdx = prevIdx + increment;

                            if (listSelectedIdx_.Contains(currentIdx))
                            {
                                listSelectedIdx_.Remove(currentIdx);
                            }
                            else
                            {
                                listSelectedIdx_.Add(currentIdx);
                            }
                            prevIdx += increment;
                        }
                        SceneSelection();
                    }
                }
                else if (ctrlPressed)
                {
                    if (listSelectedIdx_.Contains(itemIdx))
                    {
                        listSelectedIdx_.Remove(itemIdx);
                    }
                    else
                    {
                        listSelectedIdx_.Add(itemIdx);
                    }
                }
                else if (!listSelectedIdx_.Contains(itemIdx))
                {
                    listSelectedIdx_.Clear();
                    listSelectedIdx_.Add(itemIdx);
                    SceneSelection();
                }
                else
                {
                    return;
                }
            }
            else
            {
                if (!ctrlPressed && !shiftPressed)
                {
                    listSelectedIdx_.Clear();
                    listSelectedIdx_.Add(itemIdx);
                    lastSelectedIdx_ = itemIdx;
                    SceneSelection();
                }
            }
            CRManagerEditor instance = CRManagerEditor.Instance;

            instance.RepaintSubscribers();
        }