public EditChest(Point spawnPoint, ref Chest chest) { InitializeComponent(); this.Location = spawnPoint; selectedChest = chest; txtName.Text = chest.name; }
private void xna_renderer_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { if (GLB_Data.TilesTexture == null) { return; } if (GLB_Data.Brush == PaintTool.MarqueeBrush || GLB_Data.Brush == PaintTool.MarqueeEraser || GLB_Data.Brush == PaintTool.MarqueeWalk || GLB_Data.Brush == PaintTool.MarqueeTerrain) { // Marquee is beign created, save initial point GLB_Data.MarqueeSelection.Show = true; GLB_Data.MarqueeSelection.InitialLocation = Camera.SystemPointTransform(e.Location); return; } if (!ValidTileSelected() && GLB_Data.Brush != PaintTool.Walk && GLB_Data.Brush != PaintTool.Eraser && GLB_Data.Brush != PaintTool.Portal && GLB_Data.Brush != PaintTool.Chest && GLB_Data.Brush != PaintTool.NPC && GLB_Data.Brush != PaintTool.FixedCombat) { // no selected tile return; } XNA.Point bounds = Camera.Transform(e.Location); if (bounds.X > GLB_Data.MapSize.Width * Camera.ScaledTileSize || bounds.Y > GLB_Data.MapSize.Height * Camera.ScaledTileSize || bounds.X < 0 || bounds.Y < 0) { // out of bounds return; } previous_location = e.Location; // Map is about to change , save current status undo_redo.AddUndoHistory(); CheckUndoRedo(); DoBrushLogic(sender, e); } else if (e.Button == MouseButtons.Right) { // Right mouse button pressed, user is starting to do // a map scroll operation. // Store the initial point of the Scroll //mouse_scroll_initial = Cursor.Position; XNA.Point selected_tile = HelperClass.TileSnapToGrid(Camera.WorldPosition(e.Location)); //chests Chest selectedChest = new Chest(); bool chestFound = false; foreach (Chest chest in GLB_Data.chests) { if (chest.x == selected_tile.X && chest.y == selected_tile.Y) { selectedChest = chest; chestFound = true; } } if (chestFound) { editChest = new EditChest(new System.Drawing.Point(e.X, e.Y), ref selectedChest); editChest.ShowDialog(); } //NPCs NPC selectedNPC = new NPC(); bool NPCFound = false; foreach (NPC NPC in GLB_Data.npcs) { if (NPC.x == selected_tile.X && NPC.y == selected_tile.Y) { selectedNPC = NPC; NPCFound = true; } } if (NPCFound) { editNPC = new EditNPC(new System.Drawing.Point(e.X, e.Y), ref selectedNPC); editNPC.ShowDialog(); } //Monsters FixedCombatNPC selectedFixedCombatNPC = new FixedCombatNPC(); bool FixedCombatNPCFound = false; foreach (FixedCombatNPC FixedCombatNPC in GLB_Data.fixedCombatNPCs) { if (FixedCombatNPC.x == selected_tile.X && FixedCombatNPC.y == selected_tile.Y) { selectedFixedCombatNPC = FixedCombatNPC; FixedCombatNPCFound = true; } } if (FixedCombatNPCFound) { //editMonster = new EditBlock(new System.Drawing.Point(e.X, e.Y), ref selectedFixedCombatNPC); editMonster.ShowDialog(); } //Blocks Block selectedBlock = new Block(); bool BlockFound = false; foreach (Block Block in GLB_Data.blocks) { if (Block.x == selected_tile.X && Block.y == selected_tile.Y) { selectedBlock = Block; BlockFound = true; } } if (BlockFound) { editBlock = new EditBlock(new System.Drawing.Point(e.X, e.Y), ref selectedBlock); editBlock.ShowDialog(); } //Switches Switch selectedSwitch = new Switch(); bool SwitchFound = false; foreach (Switch Switch in GLB_Data.switches) { if (Switch.x == selected_tile.X && Switch.y == selected_tile.Y) { selectedSwitch = Switch; SwitchFound = true; } } if (SwitchFound) { editSwitches = new EditSwitches(new System.Drawing.Point(e.X, e.Y), ref selectedSwitch); editSwitches.ShowDialog(); } } }
private void ChestPaint(object sender, MouseEventArgs e) { XNA.Point selected_tile = HelperClass.TileSnapToGrid(Camera.WorldPosition(e.Location)); Tile tile_in_map = GLB_Data.TileMap[0, selected_tile.X, selected_tile.Y]; Chest Chest = new Chest(); Chest.x = tile_in_map.grid_location.X; Chest.y = tile_in_map.grid_location.Y; Chest.name = ""; bool ChestFound = false; Chest deadChest = new Chest(); foreach (Chest c in GLB_Data.chests) { if (Chest.x == c.x && Chest.y == c.y) { ChestFound = true; deadChest = c; } } if (ChestFound) { GLB_Data.chests.Remove(deadChest); } else { GLB_Data.chests.Add(Chest); } }