Danil Iarosh 6b02c76ef3
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
refactor: LightController + LightSequence, протокол 85XXYY, namespace
LightController / LightMode:
- Новый LightMode.cs: enum эффектов под протокол 85XXYY (13 эффектов + Off)
  значения enum = коды команд XX, Off=-1 генерирует просто '85'
- Новый LightController.cs: управление подсветкой платы
  * SetLight(mode, duration) → строит команду 85XXYY, возвращает LightSequence
  * Blink() / StopBlink() / SetBlinkInterval() — мигание шляпы
  * StopSequence() / StopAllEffects() — остановка эффектов
  * Все параметры (hatOn/hatOff, blinkInterval, defaultMode/Duration) в инспекторе
- Вложенный класс LightSequence — builder цепочек эффектов:
  SetLight(A,3).Then(B,3).Then(C,3).Loop()
  SetLight(A,3).Then(LightMode.Off)
  SetLight(A,5) — одиночный эффект
GameManager:
- Добавлено свойство Light (→ Plate.Light)
- GameWin   → SetLight(FinalWave, 30)
- GameOver  → SetLight(BlueWave, 30)
- NewGame   → SetLight(Rainbow, 99)
- LoadScene MainMenu → SetLight(Off) + Blink()
namespace (добавлены в файлы без namespace):
- Editor/MouseWorldPositionOverlay.cs  → RR.Common.InspectorOverrides
- UI/StatsWindowUIController.cs        → RR.Common.UI
- Utilities/AdvancedLogging_Test.cs    → RR.Common.Utility
- Utilities/DebugSettings.cs           → RR.Common.Utility
2026-02-19 16:52:59 +03:00

53 lines
1.9 KiB
C#

namespace RR.Common.Controls
{
/// <summary>
/// Эффекты подсветки периферийной платы (протокол <c>85XXYY</c>).
/// <c>XX</c> — код эффекта, <c>YY</c> — время в секундах.
/// Команда <c>85</c> (без параметров) отключает рендеринг эффектов и освобождает память.
/// </summary>
public enum LightMode
{
/// <summary>Отключить рендеринг эффектов (освобождает память). Команда: <c>85</c></summary>
Off = -1,
/// <summary>Горизонтальная волна. XX = 40</summary>
HorizontalWave = 40,
/// <summary>Вертикальная волна. XX = 41</summary>
VerticalWave = 41,
/// <summary>Диагональная волна. XX = 42</summary>
DiagonalWave = 42,
/// <summary>Радуга. XX = 43</summary>
Rainbow = 43,
/// <summary>Волна вверх. XX = 44</summary>
WaveUp = 44,
/// <summary>Вертикальная волна вверх. XX = 45</summary>
VerticalWaveUp = 45,
/// <summary>Конечная волна. XX = 46</summary>
FinalWave = 46,
/// <summary>Синяя волна. XX = 47</summary>
BlueWave = 47,
/// <summary>Диагональная волна 2. XX = 48</summary>
DiagonalWave2 = 48,
/// <summary>Падающие ряды. XX = 49</summary>
FallingRows = 49,
/// <summary>Оранжевая волна. XX = 50</summary>
OrangeWave = 50,
/// <summary>Морская волна. XX = 51</summary>
SeaWave = 51,
/// <summary>Диагональная волна 3. XX = 52</summary>
DiagonalWave3 = 52,
}
}