public void MouseUp(EntityEditorTools Tool) { if (tool == Tool) { if (tool == EntityEditorTools.SingleSelect && !mouseMoved) { Entity mouseOn = GetTopEntityFromPos(mouseX, mouseY); if (mouseOn != null) { currentEntities = new List<Entity> { mouseOn }; Program.mainGUI.LoadEntityView(currentEntities[0].GetEnum(), GetEntityNum(mouseOn)); } } else if (tool == EntityEditorTools.RectSelect) { endMouseX = mouseX; endMouseY = mouseY; } tool = EntityEditorTools.None; rectColor = rectDefaultColor; mouseMoved = false; clickedOnEntity = false; } }
public void MouseDown(EntityEditorTools Tool) { if (tool == EntityEditorTools.None && Program.currentMap != null) { tool = Tool; if (tool == EntityEditorTools.SingleSelect) { Entity mouseOn = GetTopEntityFromPos(mouseX, mouseY); if (mouseOn != null) { clickedOnEntity = true; rectColor = rectSelectColor; if (currentEntities == null || currentEntities.Count <= 1 || (currentEntities.Count > 1 && !currentEntities.Contains(mouseOn))) { currentEntities = new List<Entity> { mouseOn }; Program.mainGUI.LoadEntityView(currentEntities[0].GetEnum(), GetEntityNum(mouseOn)); } } } else if (tool == EntityEditorTools.RectSelect) { rectColor = rectSelectColor; endMouseX = mouseX; endMouseY = mouseY; List<Entity> newSelection = GetAllEntitiesWithinRect(mouseX, mouseY, endMouseX, endMouseY); if (newSelection.Count > 0) currentEntities = newSelection; if (currentEntities.Count == 1) Program.mainGUI.LoadEntityView(currentEntities[0].GetEnum(), GetEntityNum(currentEntities[0])); else if (currentEntities.Count > 1) Program.mainGUI.MultipleEntitiesSelected(); } else if (tool == EntityEditorTools.MultiSelect) { Entity mouseOn = GetTopEntityFromPos(mouseX, mouseY); if (mouseOn != null) { rectColor = rectSelectColor; if (!currentEntities.Remove(mouseOn)) { clickedOnEntity = true; currentEntities.Add(mouseOn); } if (currentEntities.Count == 1) Program.mainGUI.LoadEntityView(currentEntities[0].GetEnum(), GetEntityNum(currentEntities[0])); } } else if (tool == EntityEditorTools.CreateDelete) { rectColor = rectPaintColor; Entity mouseOn = GetTopEntityFromPos(mouseX, mouseY); if (mouseOn != null) { clickedOnEntity = true; Program.mainGUI.DeleteEntity(mouseOn); } else if (currentEntities != null && currentEntities.Count > 0) Program.mainGUI.CreateNewEntity(currentEntities[0].GetEnum(), mouseX, mouseY); else Program.mainGUI.CreateNewEntity(mouseX, mouseY); } else rectColor = rectDefaultColor; } }