private void Sync(Point index, out Tile?prevTile, out Sprite prevSprite, out Point prevIndex) { prevSprite = ground.GetSprite(index); prevTile = tiles[index.X, index.Y]; prevIndex = index; tiles[index.X, index.Y] = null; ground.ClearSprite(index); OnSpriteChanged(new SpriteChangedEventArgs(index, ground.GetSprite(index))); }