public void AddNewSpriteAtTilePosition(Sprite newSprite, Vector3Int tilePosition) { if (spriteToTileInteraction.ContainsKey(newSprite)) { SpriteAlreadyExists(newSprite); return; } TileSpriteInteraction newTile = GetTileSpriteInteractionAtTilePosition(tilePosition); spriteToTileInteraction[newSprite] = newTile; newTile.AddSprite(newSprite); }
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; }
public List <Sprite> GetSpritesAtTilePosition(Vector3Int tilePosition) { TileSpriteInteraction tile = GetTileSpriteInteractionAtTilePosition(tilePosition); return(tile.GetSprites()); }