فهرست منبع

Added shift to deselect frames in IDE sprite editor

Ivan Safrin 10 سال پیش
والد
کامیت
f67df21f56
1فایلهای تغییر یافته به همراه12 افزوده شده و 1 حذف شده
  1. 12 1
      IDE/Contents/Source/PolycodeSpriteEditor.cpp

+ 12 - 1
IDE/Contents/Source/PolycodeSpriteEditor.cpp

@@ -422,6 +422,17 @@ void SpriteSheetEditor::handleEvent(Event *event) {
                             if(!hasSelectedID(frame.frameID)) {
                                 selectedIDs.push_back(frame.frameID);
                                 willCreateFrame = false;
+                            } else {
+                                
+                                if(Services()->getCore()->getInput()->getKeyState(KEY_LSHIFT) ||
+                                   Services()->getCore()->getInput()->getKeyState(KEY_LSHIFT)) {
+                                    for(int f=0; f < selectedIDs.size(); f++) {
+                                        if(selectedIDs[f] == frame.frameID)
+                                        {
+                                            selectedIDs.erase(selectedIDs.begin() + f);
+                                            break;
+                                        }}
+                                }
                             }
                             break;
                         }
@@ -567,7 +578,7 @@ void SpriteSheetEditor::Resize(Number width, Number height) {
 }
 
 void SpriteSheetEditor::Render() {
-    if(sprite->getNumFrames() > 0 && selectedIDs.size() > 0) {
+    if(sprite->getNumFrames() > 0 && selectedIDs.size() == 1) {
         
         transformGrips->visible = true;
         transformGrips->enabled = true;