Exemple #1
0
 public override void Clone(BaseTileDataInstance copy)
 {
     base.Clone(copy);
     if (copy is EventTileDataInstance)
     {
         this.position = ((EventTileDataInstance)copy).position;
         this.sprite   = new SpriteAnimation(((EventTileDataInstance)copy).sprite);
     }
 }
Exemple #2
0
 public void Remove(BaseTileDataInstance tile)
 {
     if (tile is TileDataInstance)
     {
         RemoveTile((TileDataInstance)tile);
     }
     else if (tile is EventTileDataInstance)
     {
         RemoveEventTile((EventTileDataInstance)tile);
     }
 }
Exemple #3
0
        public override void OnMouseDown(MouseEventArgs e)
        {
            base.OnMouseDown(e);

            Point2I mousePos = new Point2I(e.X, e.Y);

            // Sample the tile at the mouse position.
            BaseTileDataInstance baseTile = null;

            if (editorControl.EventMode)
            {
                baseTile = LevelDisplayControl.SampleEventTile(mousePos);
            }
            else
            {
                baseTile = LevelDisplayControl.SampleTile(mousePos, editorControl.CurrentLayer);
            }

            // Select or deselect the tile.
            if (e.Button == MouseButtons.Left)
            {
                /*if (FormsControl.ModifierKeys == Keys.Control) {
                 *      if (baseTile != null) {
                 *              // Add or remove tiles from selection.
                 *              if (!LevelDisplayControl.IsTileInSelection(baseTile)) {
                 *                      LevelDisplayControl.AddTileToSelection(baseTile);
                 *                      EditorControl.PropertyGrid.OpenProperties(baseTile);
                 *              }
                 *              else {
                 *                      LevelDisplayControl.RemoveTileFromSelection(baseTile);
                 *              }
                 *      }
                 * }
                 * else */{
                    // Select a new tile, deselecting others.
                    LevelDisplayControl.DeselectTiles();
                    if (baseTile != null)
                    {
                        LevelDisplayControl.AddTileToSelection(baseTile);
                        EditorControl.PropertyGrid.OpenProperties(baseTile);
                    }
                    else
                    {
                        EditorControl.PropertyGrid.CloseProperties();
                    }
                }
            }
        }
Exemple #4
0
 public void SetSelectionBox(BaseTileDataInstance tile)
 {
     selectionBox        = tile.GetBounds();
     selectionBox.Point += tile.Room.Location * tile.Room.Size * GameSettings.TILE_SIZE;
 }
Exemple #5
0
 public void RemoveTileFromSelection(BaseTileDataInstance tile)
 {
     selectedTiles.Remove(tile);
 }
Exemple #6
0
 public void AddTileToSelection(BaseTileDataInstance tile)
 {
     selectedTiles.Add(tile);
     selectedRoom = tile.Room;
 }
Exemple #7
0
        //-----------------------------------------------------------------------------
        // Individual Tile Selection
        //-----------------------------------------------------------------------------

        public bool IsTileInSelection(BaseTileDataInstance tile)
        {
            return(selectedTiles.Contains(tile));
        }