//----------------------------------------------------------------------------------- public void UnselectSelected() { listSelectedIdx_.Clear(); CRManagerEditor window = CRManagerEditor.Instance; window.RepaintSubscribers(); }
//----------------------------------------------------------------------------------- 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(); }
//----------------------------------------------------------------------------------- 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(); }