Подробные изменения: - Расширен основной 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
79 lines
1.8 KiB
C#
79 lines
1.8 KiB
C#
using UnityEngine;
|
|
using UnityEngine.VFX;
|
|
|
|
namespace DanroJump.Runtime.Gameplay.Equipment
|
|
{
|
|
[DisallowMultipleComponent]
|
|
public sealed class JetpackFlameVfxSettings : MonoBehaviour
|
|
{
|
|
private VisualEffect visualEffect;
|
|
private VFXRenderer vfxRenderer;
|
|
|
|
private void Awake()
|
|
{
|
|
CacheComponents();
|
|
}
|
|
|
|
public void Apply()
|
|
{
|
|
CacheComponents();
|
|
}
|
|
|
|
public void Play()
|
|
{
|
|
CacheComponents();
|
|
if (visualEffect == null)
|
|
{
|
|
return;
|
|
}
|
|
|
|
if (vfxRenderer != null)
|
|
{
|
|
vfxRenderer.enabled = true;
|
|
}
|
|
|
|
visualEffect.enabled = true;
|
|
visualEffect.Reinit();
|
|
visualEffect.Play();
|
|
}
|
|
|
|
public void Play(string sortingLayerName, int sortingOrder)
|
|
{
|
|
Play();
|
|
SetSorting(sortingLayerName, sortingOrder);
|
|
}
|
|
|
|
public void SetSorting(string sortingLayerName, int sortingOrder)
|
|
{
|
|
CacheComponents();
|
|
if (vfxRenderer == null)
|
|
{
|
|
return;
|
|
}
|
|
|
|
vfxRenderer.sortingLayerName = sortingLayerName;
|
|
vfxRenderer.sortingOrder = sortingOrder;
|
|
}
|
|
|
|
public void Stop()
|
|
{
|
|
if (visualEffect != null)
|
|
{
|
|
visualEffect.Stop();
|
|
visualEffect.enabled = false;
|
|
}
|
|
|
|
if (vfxRenderer != null)
|
|
{
|
|
vfxRenderer.enabled = false;
|
|
}
|
|
}
|
|
|
|
private void CacheComponents()
|
|
{
|
|
visualEffect ??= GetComponent<VisualEffect>();
|
|
vfxRenderer ??= GetComponent<VFXRenderer>();
|
|
}
|
|
}
|
|
}
|