public void SelectSprite(TileChangeOption option)
        {
            if (selectedTile == null)
            {
                return;
            }

            selectedTile.ChangeManualSprite(option.Sprite);
        }
        public void Open(Tile tile)
        {
            if (tile.TileAsset is SpriteTileAsset == false)
            {
                Hide();
                return;
            }

            Clear();

            selectedTile = tile;

            SpriteTileAsset tileAsset = (SpriteTileAsset)tile.TileAsset;

            SetWindowPosition(new Vector2(tile.X, tile.Y));
            window.gameObject.SetActive(true);

            foreach (Sprite s in tileAsset.RuleSprites)
            {
                TileChangeOption go = Instantiate(tileOptionPrefab, tileOptionParent);
                go.Initialize(this, s);
                options.Add(go);
            }
        }