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;
            }
        }