private void BuildTilesDefinition(string bankName, BankModel bankModel)
        {
            ProjectModel projectModel = ModelManager.Get <ProjectModel>();

            string fullPath = Path.Combine(Path.GetFullPath(projectModel.Build.OutputFilePath), $"tiles_definition_{bankName}.s");

            List <string> namesUsed = new List <string>();

            using (StreamWriter outputFile = new StreamWriter(fullPath))
            {
                outputFile.WriteLine("; This file is autogenerated!");
                outputFile.WriteLine("");

                for (int i = 0; i < bankModel.PTTiles.Length; i++)
                {
                    PTTileModel tile = bankModel.PTTiles[i];

                    FileModelVO tileSetModelVo = ProjectFiles.GetFileModel(tile.TileSetID);

                    if (tileSetModelVo != null && tileSetModelVo.Model is TileSetModel tileSetModel)
                    {
                        int index = tileSetModel.GetIndexFromPosition(tile.Point);

                        string name = tileSetModel.TilePseudonyms[index];

                        if (string.IsNullOrEmpty(name))
                        {
                            string hexX = $"{(int)tile.Point.X:X2}";
                            string hexY = $"{(int)tile.Point.Y:X2}";

                            name = $"{tileSetModelVo.Name}_{hexX}_{hexY}";
                        }

                        if (!namesUsed.Contains(name))
                        {
                            outputFile.Write($"{name} = ${i:X2}{Environment.NewLine}");

                            namesUsed.Add(name);
                        }
                    }
                }
            }
        }