Files
Patryk Gensch 198d9cf477 Finished automatically generated docs
Time to correct it by itself
2026-05-20 22:49:46 +02:00

2.7 KiB

TIMER

Cykliczny licznik czasu emitujący sygnał ONTICK co ELAPSE milisekund. Pozwala uruchamiać kod skryptu w regularnych odstępach — bez timera nie da się w silniku zrealizować nic, co wymaga upływu czasu (animowanie wartości, opóźnienia, regeneracja).

Wartość zmiennej (value) typu TIMER to liczba dotychczas wykonanych tyknięć.

Pola

ELAPSE

INTEGER ELAPSE

Długość cyklu timera w milisekundach. Dla wartości 0 lub mniejszej timer nie tyka, nawet jeżeli jest włączony.

ENABLED

BOOL ENABLED

Określa, czy timer ma działać po inicjalizacji. Domyślnie TRUE.

TICKS

INTEGER TICKS

Limit cykli — po wyemitowaniu tylu tyknięć timer wyłącza się automatycznie (ENABLED = FALSE). Wartość 0 oznacza brak limitu (timer tyka bez końca).

Metody

DISABLE

void DISABLE()

Wyłącza timer. Sygnał ONTICK przestaje być emitowany; bieżąca liczba tyknięć nie zostaje wyzerowana.

Przykłady

TIMER1^DISABLE();

ENABLE

void ENABLE()

Włącza timer i ustawia punkt odniesienia odmierzania na teraz. Pierwszy tick po wywołaniu zostanie wyemitowany po upływie pełnego ELAPSE, niezależnie od tego, ile czasu minęło od ostatniego wyłączenia.

Przykłady

TIMCNV^ENABLE();
TIMER2^ENABLE();

GETTICKS

INTEGER GETTICKS()

Zwraca liczbę dotychczas wykonanych tyknięć (zmierzoną od ostatniego wywołania RESET lub od inicjalizacji).

Zwraca: INTEGER — liczba tyknięć.

Przykłady

TIMER1^GETTICKS();

RESET

void RESET()

Zeruje licznik tyknięć i ustawia punkt odniesienia odmierzania na teraz.

Przykłady

TIMER1^RESET();

SET

void SET(INTEGER ticks)

Ustawia limit tyknięć w polu TICKS. Wartość 0 znosi limit (timer tyka bez końca).

Parametry

  • ticks — nowy limit cykli.

SETELAPSE

void SETELAPSE(INTEGER timeMs)

Ustawia długość cyklu timera w milisekundach i ustawia punkt odniesienia odmierzania na teraz.

Parametry

  • timeMs — nowa długość cyklu (w milisekundach).

Przykłady

TIMERSEQ^SETELAPSE(RANDOM^GET(30000,10000));
TIMERPIECHUR^SETELAPSE(ARRAYPIECHURZYPARAM^GET(0));
TIMER1^SETELAPSE(VARTIMEUFO);

Sygnały

ONINIT

Wywoływany w momencie inicjalizacji obiektu.

ONTICK

Wywoływany po każdym pełnym cyklu o długości ELAPSE, o ile timer jest włączony. Argumentem ($1) jest aktualna liczba tyknięć (currentTickCount).

ONSIGNAL

Wywoływany po otrzymaniu sygnału (zobacz Zdarzenia i sygnały).