public void MouseLeftButtonDown(Point pixelPosition)
        {
            pixelPosition.Y = PixelHeight - pixelPosition.Y;

            if (EditorMode == EditorMode.Select)
            {
                Platforms.Apply(p => p.IsSelected = false);
                PlatformWrapper platform = GetPlatformAtPosition(pixelPosition);
                if (platform != null)
                {
                    platform.IsSelected             = true;
                    mEditorManager.SelectedPlatform = platform;
                    mIsDragging = true;
                }
                else
                {
                    mEditorManager.SelectedPlatform = null;
                }
            }
            else if (EditorMode == EditorMode.Platform)
            {
                PlatformWrapper addedPlatform = new PlatformWrapper(new PlatformData(-1, 0.0, 0.0, PlatformType.Normal, null, null));
                SetObjectPosition(addedPlatform, pixelPosition);

                Platforms.Add(addedPlatform);
                UpdateModel();
            }
        }
        public void MouseMove(Point pixelPosition)
        {
            if (EditorMode != EditorMode.Select)
            {
                return;
            }

            pixelPosition.Y = PixelHeight - pixelPosition.Y;

            Platforms.Apply(p => p.IsOver = false);
            PlatformWrapper platform = GetPlatformAtPosition(pixelPosition);

            if (platform != null)
            {
                platform.IsOver = true;
            }

            if (mIsDragging)
            {
                SetObjectPosition(mEditorManager.SelectedPlatform, pixelPosition);
                UpdateModel();
            }
        }