public void DrawModels(Camera3D camera)
        {
            BlockMask maskAtCursor = ParentSegmentManager.GetBlockMaskAt(_keyboardCursor);

            switch (_selectedType)
            {
            case EditorType.Blocks:
                if (ParentSegmentManager.IsLocationObstructed(_keyboardCursor))
                {
                    _blockHighlightBlocked.Draw(ParentSegmentManager.Device, camera, _keyboardCursor.WorldLocation, Vector3.Zero, 0f, new Vector3(1, 1, 1));
                }
                else
                {
                    _blockHighlight.Draw(ParentSegmentManager.Device, camera, _keyboardCursor.WorldLocation, Vector3.Zero, 0f, new Vector3(1, 1, 1));
                }
                break;

            case EditorType.BottomRamps:
                if (BlockHelper.HasTopRamp(maskAtCursor) &&
                    BlockHelper.GetRampBlockDirection(maskAtCursor) ==
                    _RampBlockDirection)
                {
                    _blockHighlight.Draw(ParentSegmentManager.Device, camera, _keyboardCursor.WorldLocation, Vector3.Zero, 0f, new Vector3(1, 1, 1));
                }
                else
                {
                    if (ParentSegmentManager.IsLocationObstructed(_keyboardCursor))
                    {
                        _blockHighlightBlocked.Draw(ParentSegmentManager.Device, camera, _keyboardCursor.WorldLocation, Vector3.Zero, 0f, new Vector3(1, 1, 1));
                    }
                    else
                    {
                        _blockHighlight.Draw(ParentSegmentManager.Device, camera, _keyboardCursor.WorldLocation, Vector3.Zero, 0f, new Vector3(1, 1, 1));
                    }
                }
                break;

            case EditorType.TopRamps:
                if (BlockHelper.HasBottomRamp(maskAtCursor) &&
                    BlockHelper.GetRampBlockDirection(maskAtCursor) ==
                    _RampBlockDirection)
                {
                    _blockHighlight.Draw(ParentSegmentManager.Device, camera, _keyboardCursor.WorldLocation, Vector3.Zero, 0f, new Vector3(1, 1, 1));
                }
                else
                {
                    if (ParentSegmentManager.IsLocationObstructed(_keyboardCursor))
                    {
                        _blockHighlightBlocked.Draw(ParentSegmentManager.Device, camera, _keyboardCursor.WorldLocation, Vector3.Zero, 0f, new Vector3(1, 1, 1));
                    }
                    else
                    {
                        _blockHighlight.Draw(ParentSegmentManager.Device, camera, _keyboardCursor.WorldLocation, Vector3.Zero, 0f, new Vector3(1, 1, 1));
                    }
                }
                break;

            default:
                _previewData = new BlockVertexData();
                break;
            }
        }