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); } } } } }