public override int removeCells(params GeoCell[] cells)
        {
            GeoCell[] layers;
            int       layer, removed = 0;

            foreach (GeoCell cell in cells)
            {
                layers = _cells3D[cell.getCellX(), cell.getCellY()];
                if (layers.Length == 1)
                {
                    continue;
                }
                //
                layer = Util.arrayLastIndexOf(layers, cell);
                if (layer == -1)
                {
                    throw new Exception("Smth went wrong dude: " + (cell.getBlock() == this));
                }
                //
                _cells3D[cell.getCellX(), cell.getCellY()] = Util.arrayRemoveAtUnsafe(layers, layer);
                _cells = Util.arrayRemoveLast(_cells, cell);
                GeoBlockSelector.getInstance().unselectGeoCell(cell);
                removed++;
            }
            calcMaxMinHeight();
            //GLDisplay.getInstance().getRenderSelector().forceUpdateFrustum();
            return(removed);
        }
 public PositionControl()
 {
     InitializeComponent();
     //
     if (!DesignerProperties.GetIsInDesignMode(this))
     {
         map.Visibility = Visibility.Collapsed;
         //
         gridBase.Children.Add(dx = new GraphicsDeviceControl());
         dx.SetValue(Grid.RowProperty, 1);
         dx.SetValue(Grid.ColumnProperty, 1);
         dx.LoadContent     += dx_LoadContent;
         dx.RenderXna       += dx_RenderXna;
         dx.WindowCreated   += dx_WindowCreated;
         dx.HwndLButtonDown += dx_HwndLButtonDown;
         dx.HwndLButtonUp   += dx_HwndLButtonUp;
         dx.HwndRButtonDown += dx_HwndRButtonDown;
         dx.HwndRButtonUp   += dx_HwndRButtonUp;
         dx.HwndMouseMove   += dx_HwndMouseMove;
         dx.Visibility       = Visibility.Collapsed;
         //
         region_x = 12;
         region_y = 12;
         //
         try {
             Engine.init();
             GeoBlockSelector.init();
         }
         catch (Exception error) {
             Console.WriteLine("Failed to initialize GeoEngine! " + error.Message);
         }
         //
         try { scene = new TestScene(); }
         catch (Exception error) {
             Console.WriteLine("Failed to initialize Scene! " + error.Message);
         }
     }
 }