riversong code showcase

This commit is contained in:
Daniele Marotta
2026-05-21 15:52:18 +02:00
commit 4c9eea1c02
462 changed files with 23406 additions and 0 deletions

View File

@@ -0,0 +1,50 @@
using System;
using System.Globalization;
using UnityEngine;
#if UNITY_EDITOR
using UnityEditor;
using UnityEditor.Build;
using UnityEditor.Build.Reporting;
#endif
namespace DanieleMarotta.RiversongCodeShowcase
{
#if UNITY_EDITOR
public class BuildVersionPreprocessor : IPreprocessBuildWithReport
{
private const string AssetPath = "Assets/_Project/Config/BuildVersion.asset";
public int callbackOrder => 0;
public void OnPreprocessBuild(BuildReport report)
{
var buildVersion = AssetDatabase.LoadAssetAtPath<BuildVersionAsset>(AssetPath);
if (!buildVersion)
throw new BuildFailedException($"Missing build version asset at '{AssetPath}'.");
var today = DateTime.Now;
var dayKey = today.ToString("yyyyMMdd", CultureInfo.InvariantCulture);
if (string.Equals(buildVersion.LastBuildDate, dayKey, StringComparison.Ordinal))
buildVersion.LastBuildCounter++;
else
{
buildVersion.LastBuildDate = dayKey;
buildVersion.LastBuildCounter = 1;
}
buildVersion.CurrentVersion = string.Format(
CultureInfo.InvariantCulture,
"{0:00}.{1:00}.{2:0000}.{3}",
today.Month,
today.Day,
today.Year,
buildVersion.LastBuildCounter);
EditorUtility.SetDirty(buildVersion);
AssetDatabase.SaveAssets();
}
}
#endif
}