// If objects are terrain, handle syncing up their tilechanged events private void TileMap_ObjectAdded(object sender, ItemEventArgs <GoRogue.GameFramework.IGameObject> e) { // Configure new tile, and fire event if (e.Item is Tile tile) { tile.TileChanged += Tile_TileChanged; MapTileChanged?.Invoke(this, new TileChangedEventArgs(this, tile)); } }
// Fire map-based event for either tile being set, or its state changing. private void Tile_TileChanged(object sender, EventArgs e) => MapTileChanged?.Invoke(this, new TileChangedEventArgs(this, (Tile)sender));