void SetArea(Area a) { Area.TileModifiedHandler handler = delegate(int tile) { if (tile == subTileEditor.subTileViewer.TileIndex) { subTileEditor.subTileViewer.QueueDraw(); } }; if (area != null) { area.TileModifiedEvent -= handler; } a.TileModifiedEvent += handler; area = a; subTileEditor.SetArea(area); if (area != null) { subTileGfxViewer.SetGraphicsState(area.GraphicsState, 0x2000, 0x3000); } area.DrawInvalidatedTiles = true; areaviewer1.SetArea(area); areaviewer1.TileSelectedEvent += delegate(object sender) { subTileEditor.SetTileIndex(areaviewer1.SelectedIndex); }; areaSpinButton.Value = area.Index; SetFlags1(a.Flags1); SetFlags2(a.Flags2); SetUniqueGfx(a.UniqueGfxString); SetMainGfx(a.MainGfxString); SetPaletteHeader(a.PaletteHeaderString); SetTileset(a.TilesetIndex); SetLayoutGroup(a.LayoutGroup); SetAnimation(a.AnimationIndex); }