- ? Panel boczny po lewej stronie okna g?ównego
- ? Wysuwanie z lewej - analogicznie do SliderWindow (prawy panel)
- ? Animowane wysuwanie/zwijanie (slideSpeed = 12f)
- ? Tekstura
Alarm_barobrócona pionowo (flip vertically) - ? Przycisk toggle (z obrócon? tekstur?) po lewej stronie
- ? Nag?ówek "Global Alarms|"
- ? Tekstury i style identyczne jak prawy panel
- ? Input lock (ControlTypes.All) - blokada klików pod UI
- ? Snap (SNAP_EPSILON) - brak p?yni?cia
- ?
mainWindowRect- referencja do g?ównego okna - ?
panelRect- pozycja i rozmiar panelu (lewo) - ?
slideT- animacja (0 = hidden, 1 = visible) - ?
hiddenPanelX- panel poza ekranem z lewej - ?
visiblePanelX- panel przylegaj?cy do okna - ? Smooth lerp z snap dla p?ynno?ci bez "mlaskania"
- ?
protrusion- cz??? panelu widoczna na ekranie
- ?
RotateTextureVertically()- flip tekstury (Y-axis) - ? Automatyczne czyszczenie tekstury w
OnDestroy() - ? Cache dla GUIStyle
cachedAlarmButtonStyle - ? Reload tekstury przy zmianie skina
- ? Inicjalizacja w
Start() - ? Samodzielny
OnGUI()(rysuje si? automatycznie) - ? Synchronizacja pozycji z g?ównym oknem
- ? Input lock podczas hover'a
- ?
GlobalAlarmDefinition.cs- Definicja alarmu - ?
GlobalAlarmManager.cs- Zarz?dzanie - ?
GlobalAlarmRunner.cs- Wyzwalanie w locie
GlobalAlarmPanel (MonoBehaviour)
??? mainWindowRect (referencja do KerbNote okna)
??? panelRect (lewy panel - x, y, width, height)
??? slideT (0..1 animacja)
??? hiddenPanelX / visiblePanelX (pozycje)
??? alarmBarTexture (orygina?)
??? alarmBarTextureRotated (flip vertically)
??? panelWindowID (GUI.Window ID)
??? buttonWindowID (GUI.Window ID - przycisk)
??? OnGUI()
??? DrawPanelWindow() - zawarto?? panelu
??? DrawAlarmBarWindow() - przycisk z tekstur?
??? UpdateInputLock() - blokada klików
| Parametr | Warto?? | Opis |
|---|---|---|
slideSpeed |
12f | Szybko?? animacji (px/s) |
buttonWidth |
barFixedWidth | Szeroko?? paska (z tekstury) |
buttonHeight |
300f | Wysoko?? paska (sta?a) |
panelRect.width |
225px | Szeroko?? panelu (75% z 300) |
slideT |
0..1 | Animacja: 0=schowany, 1=widoczny |
src/
??? GlobalAlarmPanel.cs (420 linii) - Lewy panel z mechanik?
??? GlobalAlarmDefinition.cs (70 linii) - Definicja alarmu
??? GlobalAlarmManager.cs (200 linii) - Zarz?dzanie alarmami
??? GlobalAlarmRunner.cs (180 linii) - Wyzwalanie alarmów
KerbNote.UI.Windows.cs- Usuni?toglobalAlarmPanel.Draw()(teraz OnGUI)KerbCalc.cs- Inicjalizacja wStart()
- Wysuwanie z lewej - klik na Alarm_bar => panel wysuwany z lewej
- Animacja - smooth lerp z snap do pozycji
- Tekstura obrócona o 180° (flip vertical)
- Pozycjonowany na lewo od panelu
- Wysoko?? 300px (sta?a)
- Szeroko?? wg tekstury (zwykle ~18px)
- Alarm_bar (pasek) wysuwa si? z LEWEJ strony okna
- Po klikni?ciu - panel wysuwa si? PO LEWEJ stronie
- Tekstura paska obrócona pionowo (180°)
- Input lock blokuje klikanie w gr? pod panelem
- Build: ? Kompiluje si? bez b??dów
- Mechanika: ? Sama jak prawy panel ale z lewej
- Tekstura: ? Obrócona (flip vertical)
- Menu: ? Pusty (gotowy do dodania przycisków)
Gotowe do u?ytku! ??