Befund aus dem Spieltest des U3-Nachtrags: Nichts legte LuneNetPlay in die Szene. Das Spiel begann direkt in einer Partie, der Startbildschirm aus U4 war unerreichbar, und der Verlassen-Dialog beendete das Spiel statt zum Hauptmenü zu führen. - LuneWorldBuilder legt LuneNetPlay auf das Match-Objekt; Szene neu gebaut. - Das Menü bekommt ein eigenes UIDocument über dem HUD. Vorher hing es an keinem Panel, und das HUD hätte es beim ersten Partiestart geleert. - Rückkehr über „Menü“ → „Zum Menü“: HUD und Aufstellungsflächen weg, Sitzung beendet, leere Karte. Die Kamera ruht hinter dem Menü und beginnt jede Partie ungedreht. Die Bund-Wahl ist markiert, die Knopfreihe passt in die Tafel. - Tests und Benchmark ohne Startbildschirm (LuneMatchDriver.DirectStart, -luneBenchmark); Bot-Partien und Fingerabdrücke unverändert. - Neu: LuneSmoke (-luneSmoke <Ordner>), Selbsttest eines Players nach lune_smoke.gd. StartScreenTests führt ihn im Editor aus. - Tests: EditMode 29/29, PlayMode 14/14 (StartScreenTests 26/26), Verify 718/0, Fingerabdrücke DCE95C96556F3A1A und 7B8E43AEFC0D60C5 unverändert. macOS-Player: Selbsttest 26/26, Bilder in docs/port/screenshots/u4/startbildschirm/. Ein zusammenhängender PlayMode-Lauf auf dem Endstand und ein Player-Benchmark stehen aus, weil der Mac zugeklappt schlief (siehe U4-NETWORK.md). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
41 lines
1.4 KiB
C#
41 lines
1.4 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Globalization;
|
|
using System.IO;
|
|
using UnityEngine;
|
|
using UnityEngine.SceneManagement;
|
|
|
|
namespace Luneraria.View.Tests
|
|
{
|
|
static class PlayModeSupport
|
|
{
|
|
public const string Scene = "G1_Map";
|
|
|
|
public static string Root { get { return Path.GetDirectoryName(Application.dataPath); } }
|
|
|
|
/// <summary>
|
|
/// Evidence folder of a run: docs/port/<kind>/<milestone>. LUNE_EVIDENCE replaces the milestone
|
|
/// name, so a later run (u2a-batch) keeps the milestone's records.
|
|
/// </summary>
|
|
public static string Evidence(string kind, string milestone)
|
|
{
|
|
string name = Environment.GetEnvironmentVariable("LUNE_EVIDENCE");
|
|
return Path.Combine(Root, "docs/port", kind, string.IsNullOrEmpty(name) ? milestone : name);
|
|
}
|
|
|
|
/// <summary>The G1 scene with its match running at once, without the start screen (U4).</summary>
|
|
public static IEnumerator Load()
|
|
{
|
|
LuneMatchDriver.DirectStart = true;
|
|
AsyncOperation loading = SceneManager.LoadSceneAsync(Scene, LoadSceneMode.Single);
|
|
while (!loading.isDone)
|
|
yield return null;
|
|
yield return null;
|
|
}
|
|
|
|
public static string Number(double value)
|
|
{
|
|
return value.ToString("0.###", CultureInfo.InvariantCulture);
|
|
}
|
|
}
|
|
}
|