/
crypt
/
NumbersPlay
Обзор
Документация
Войти
/
crypt
/
NumbersPlay
Код
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Assets/PluginYourGames/Scripts/EditorScr/Editor/BuildModify/BuildLog.cs
83 строки
2 KB
Crypt
start
16 ноя 2025, 14:28
16 ноя 2025, 14:28
1482007
Код
Авторство
О чём код?
using System.Diagnostics; using System.IO; using System.Text; namespace YG.EditorScr.BuildModify { public class BuildLog { private const string BUILD_LOG_FILE_NAME = "BuildLogYG2.txt"; private static string BUILD_PATCH => $"{InfoYG.PATCH_PC_EDITOR}/{BUILD_LOG_FILE_NAME}"; public static void WritingLog() { string[] buildLogHeaderLines = new string[] { "Build path: ", // 0 "Build number: ", // 1 "PluginYG version: " // 2 }; if (!File.Exists(BUILD_PATCH)) { string readLines = string.Join("\n", buildLogHeaderLines); File.WriteAllText(BUILD_PATCH, readLines, Encoding.UTF8); } string[] buildLog = File.ReadAllLines(BUILD_PATCH, Encoding.UTF8); // Write lines log: // Build patch buildLog[0] = $"{buildLogHeaderLines[0]}{ProcessBuild.BuildPath}"; // Build number buildLog[1] = $"{buildLogHeaderLines[1]}{GetBuildNumber() + 1}"; // PluginYG version buildLog[2] = $"{buildLogHeaderLines[2]}{InfoYG.VERSION_YG2}"; File.WriteAllLines(BUILD_PATCH, buildLog, Encoding.UTF8); } public static int GetBuildNumber() { string propertyString = ReadProperty("Build number"); if (!string.IsNullOrEmpty(propertyString)) { if (int.TryParse(propertyString, out int buildNumber)) { return buildNumber; } } return -1; } public static string ReadProperty(string property) { if (File.Exists(BUILD_PATCH)) { string[] lines = FileYG.ReadAllLines(BUILD_PATCH); foreach (string line in lines) { if (line.Contains(property)) { int index = line.IndexOf(':') + 2; if (index > line.Length) { UnityEngine.Debug.LogWarning($"[{property.ToUpper()}] index out of bounds"); return null; } return line.Substring(index); } } } return null; } } }