Подробные изменения: - Расширен основной gameplay loop: джетпак, новые платформы, оборудование, враги, прогрессия сложности и ограничения взаимодействий игрока. - Добавлены Bootstrap-сервисы запуска приложения, защита, фокус окна, управление курсором и настройки сервисов через DI. - Добавлена COM-интеграция с технической схемой Input System, обработкой кнопок/ADC, подсветкой и консольной диагностикой. - Добавлен отдельный debug/logging модуль с каналами, обработчиками консоли и файловым выводом. - Добавлены asmdef, link.xml, EditMode/PlayMode тесты и обновлена дорожная карта проекта. Проверки: - dotnet build .\\DanroJump.Runtime.csproj --no-restore - dotnet build .\\DanroJump.Tests.EditMode.csproj --no-restore - dotnet build .\\DanroJump.Tests.PlayMode.csproj --no-restore
53 lines
1.7 KiB
C#
53 lines
1.7 KiB
C#
using DanroJump.Gameplay;
|
|
using DanroJump.UI.Gameplay;
|
|
using DanroJump.UI.MainMenu;
|
|
using NUnit.Framework;
|
|
using UnityEditor.SceneManagement;
|
|
using UnityEngine;
|
|
using UnityEngine.SceneManagement;
|
|
using Zenject;
|
|
|
|
namespace DanroJump.Tests.EditMode
|
|
{
|
|
public sealed class SceneIntegrityTests
|
|
{
|
|
private string originalScenePath;
|
|
|
|
[OneTimeSetUp]
|
|
public void OneTimeSetUp()
|
|
{
|
|
originalScenePath = SceneManager.GetActiveScene().path;
|
|
}
|
|
|
|
[OneTimeTearDown]
|
|
public void OneTimeTearDown()
|
|
{
|
|
if (!string.IsNullOrEmpty(originalScenePath))
|
|
{
|
|
EditorSceneManager.OpenScene(originalScenePath, OpenSceneMode.Single);
|
|
}
|
|
}
|
|
|
|
[Test]
|
|
public void MainMenuScene_HasRequiredUiAndProjectBindingsEntryPoint()
|
|
{
|
|
EditorSceneManager.OpenScene("Assets/Scenes/MainMenu.unity", OpenSceneMode.Single);
|
|
|
|
Assert.That(Object.FindAnyObjectByType<MainMenuController>(), Is.Not.Null);
|
|
Assert.That(Resources.Load<ProjectContext>("ProjectContext"), Is.Not.Null);
|
|
}
|
|
|
|
[Test]
|
|
public void GameScene_HasRequiredGameplayRoots()
|
|
{
|
|
EditorSceneManager.OpenScene("Assets/Scenes/Game.unity", OpenSceneMode.Single);
|
|
|
|
Assert.That(Object.FindAnyObjectByType<SceneContext>(), Is.Not.Null);
|
|
Assert.That(Object.FindAnyObjectByType<GameplayInstaller>(), Is.Not.Null);
|
|
Assert.That(Object.FindAnyObjectByType<JumpPlayerController>(), Is.Not.Null);
|
|
Assert.That(Object.FindAnyObjectByType<PlatformSpawner>(), Is.Not.Null);
|
|
Assert.That(Object.FindAnyObjectByType<GameplayHudController>(), Is.Not.Null);
|
|
}
|
|
}
|
|
}
|