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