示例#1
0
    public void AddNewSpriteAtTilePosition(Sprite newSprite, Vector3Int tilePosition)
    {
        if (spriteToTileInteraction.ContainsKey(newSprite))
        {
            SpriteAlreadyExists(newSprite);
            return;
        }

        TileSpriteInteraction newTile = GetTileSpriteInteractionAtTilePosition(tilePosition);

        spriteToTileInteraction[newSprite] = newTile;
        newTile.AddSprite(newSprite);
    }
示例#2
0
    public void UpdateTilePositionOfSprite(Sprite sprite, Vector3Int tilePosition)
    {
        if (!spriteToTileInteraction.ContainsKey(sprite))
        {
            SpriteDoesNotExist(sprite);
            return;
        }

        TileSpriteInteraction prevTile = spriteToTileInteraction[sprite];
        TileSpriteInteraction newTile  = GetTileSpriteInteractionAtTilePosition(tilePosition);

        if (prevTile.Equals(newTile))
        {
            return;
        }
        prevTile.RemoveSprite(sprite);
        newTile.AddSprite(sprite);
        spriteToTileInteraction[sprite] = newTile;
    }
示例#3
0
    public List <Sprite> GetSpritesAtTilePosition(Vector3Int tilePosition)
    {
        TileSpriteInteraction tile = GetTileSpriteInteractionAtTilePosition(tilePosition);

        return(tile.GetSprites());
    }