private void TileClicked(object sender, RoutedEventArgs e) { if (Mouse.LeftButton == MouseButtonState.Pressed) { if (ActiveListView != null && ActiveListView.SelectedItem != null) { BuilderItemStruct item = (BuilderItemStruct)ActiveListView.SelectedItem; TileStruct tile = (TileStruct)((Label)sender).DataContext; tile.Update(item.type); if (Keyboard.IsKeyDown(Key.LeftShift) || Keyboard.IsKeyDown(Key.RightShift)) { FillArea(levelEditor.grid.FindTilePosition(tile), item.type); } if (Keyboard.IsKeyDown(Key.LeftAlt) || Keyboard.IsKeyDown(Key.RightAlt)) { FillAreaSquared(levelEditor.grid.FindTilePosition(tile), item.type); } } else { MessageBox.Show("Kies een item"); } } else if (Mouse.RightButton == MouseButtonState.Pressed) { TileStruct tile = (TileStruct)((Label)sender).DataContext; RemoveObjectFromTile(tile); } }
private void UpdateGridTiles() { game.Children.Clear(); spRows.Orientation = Orientation.Horizontal; for (int x = 0; x < levelEditor.grid.width; x++) { StackPanel spCols = new StackPanel(); spCols.Orientation = Orientation.Vertical; for (int y = 0; y < levelEditor.grid.height; y++) { Label btnTile = new Label(); TileStruct tile = levelEditor.grid.GetTile(x, y); btnTile.Style = Application.Current.FindResource("Tile") as Style; btnTile.Height = 64; btnTile.Width = 64; btnTile.DataContext = tile; btnTile.MouseDown += TileClicked; btnTile.MouseEnter += TileClicked; spCols.Children.Add(btnTile); } spRows.Children.Add(spCols); StackPanel spCols1 = (StackPanel)spRows.Children[0]; } game.Children.Add(spRows); }
private void UpdateGridTiles() { gameGrid.Children.Clear(); spRows.Orientation = Orientation.Horizontal; for (int x = 0; x < Game.grid.width; x++) { StackPanel spCols = new StackPanel(); spCols.Orientation = Orientation.Vertical; for (int y = 0; y < Game.grid.height; y++) { Label btnTile = new Label(); TileStruct tile = Game.grid.GetTile(x, y); btnTile.Style = Application.Current.FindResource("Tile") as Style; btnTile.DataContext = tile; spCols.Children.Add(btnTile); } spRows.Children.Add(spCols); } gameGrid.Children.Add(spRows); }
public static GridStruct Copy(this GridStruct grid) { GridStruct newGrid = new GridStruct(grid.width, grid.height); for (int x = 0; x < grid.width; x++) { for (int y = 0; y < grid.height; y++) { TileStruct tile = grid.GetTile(x, y); newGrid.SetTile(x, y, tile.floor.GetType(), tile.environmentObject.GetType(), tile.gameObject.GetType()); } } return(newGrid); }
public static void Update(this TileStruct tile, Type item) { if (item.BaseType == typeof(BaseEnvironment)) { tile.UpdateEnvironment(item); } else if (item.BaseType == typeof(BaseFloor)) { tile.UpdateFloor(item); } else { tile.UpdateObject(item); } }
private void RemoveObjectFromTile(TileStruct tile) { if (tile.gameObject.GetType() != Blocks.EMPTY) { tile.Update(Blocks.EMPTY); } else if (tile.environmentObject.GetType() != Blocks.EMPTY) { tile.UpdateEnvironment(Blocks.EMPTY); } else if (tile.gameObject.GetType() != Floors.EMPTY_FLOOR) { tile.Update(Floors.EMPTY_FLOOR); } }
public static Pos FindTilePosition(this GridStruct grid, TileStruct tile) { for (int x = 0; x < grid.grid.GetLength(0); x++) { for (int y = 0; y < grid.grid.GetLength(1); y++) { if (grid.GetTile(x, y).Equals(tile)) { Pos pos = new Pos(x, y); return(pos); } } } return(null); }
private void TileClicked(object sender, RoutedEventArgs e) { if (Mouse.LeftButton == MouseButtonState.Pressed) { if (lvAllItems.SelectedItem != null) { BuilderItemStruct item = (BuilderItemStruct)lvAllItems.SelectedItem; TileStruct tile = (TileStruct)((Label)sender).DataContext; if (item.type.BaseType == typeof(BaseFloor)) { tile.UpdateFloor(item.type); } else { tile.UpdateObject(item.type); } } else { MessageBox.Show("Kies een item"); } } else if (Mouse.RightButton == MouseButtonState.Pressed) { TileStruct tile = (TileStruct)((Label)sender).DataContext; if (tile.gameObject.GetType() != Blocks.EMPTY) { tile.UpdateObject(Blocks.EMPTY); } else if (tile.gameObject.GetType() != Floors.EMPTY_FLOOR) { tile.UpdateFloor(Floors.EMPTY_FLOOR); } } }
public static bool Contains(this TileStruct tile, Type item) { return(item.Equals(tile.floor) || item.Equals(tile.gameObject) || item.Equals(tile.environmentObject)); }
public static void UpdateEnvironment(this TileStruct tile, Type EnvironmentObj) { tile.environmentObject = BaseObjectFacotry.Create(EnvironmentObj); }
private static void UpdateObject(this TileStruct tile, Type obj) { tile.gameObject = BaseObjectFacotry.Create(obj); }
private static void UpdateFloor(this TileStruct tile, Type floor) { tile.floor = BaseObjectFacotry.Create(floor); }
public static void Update(this TileStruct tile, Type floor, Type obj) { tile.UpdateFloor(floor); tile.UpdateObject(obj); }