public void SetTileset(Tileset t) { if (tileset != null) { tileset.TileModifiedEvent -= ModifiedTileCallback; } t.TileModifiedEvent += ModifiedTileCallback; tileset = t; tileset.LazyTileRedraw((f) => GLib.Idle.Add(new GLib.IdleHandler(f))); tileset.ResetAnimation(); tileset.DrawAllTiles(); this.QueueDraw(); }