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

148 lines
2.8 KiB
Markdown

# PATTERN
Plansza złożona z siatki "kafelków" o określonych wymiarach i wielowarstwowej strukturze. Wykorzystywana m.in. w etapach z lataniem na Smokręcie (*Reksio i Wehikuł Czasu*) oraz na miotle (*Reksio i Czarodzieje*) — prawdopodobnie do zapisu mapy przewijającego się poziomu. Analiza tego typu jest w toku.
## Pola
### GRIDX
```
INTEGER GRIDX
```
Szerokość pojedynczego kafelka siatki w pikselach.
### GRIDY
```
INTEGER GRIDY
```
Wysokość pojedynczego kafelka siatki w pikselach.
### HEIGHT
```
INTEGER HEIGHT
```
Wysokość planszy.
### LAYERS
```
INTEGER LAYERS
```
Liczba warstw planszy.
### PRIORITY
```
INTEGER PRIORITY
```
Priorytet rysowania planszy (pozycja w osi Z).
### TOCANVAS
```
BOOL TOCANVAS
```
Określa, czy plansza ma być rysowana na kanwie.
### VISIBLE
```
BOOL VISIBLE
```
Określa, czy plansza jest widoczna.
### WIDTH
```
INTEGER WIDTH
```
Szerokość planszy.
## Metody
### ADD
```
void ADD(STRING tileId, INTEGER posX, INTEGER posY, STRING animoName, [INTEGER layer])
```
Dodaje na planszę obiekt graficzny.
**Parametry**
- `tileId` — identyfikator kafelka.
- `posX`, `posY` — koordynaty kafelka.
- `animoName` — nazwa zmiennej [`ANIMO`](ANIMO.md) wyświetlanej na kafelku.
- `layer` — (opcjonalnie) numer warstwy.
**Przykłady**
```
PATBOARD^ADD(["E"+_I_],VARX,VARY,VARSTRING0,0);
PATTERNFOREST^ADD([VARSTRING0+"_"+_I_],VARINT1,VARINT2,VARSTRING1,VARINT3);
```
### GETGRAPHICSAT
```
STRING GETGRAPHICSAT(INTEGER posX, INTEGER posY, BOOL onlyVisible, BOOL ignoreAlpha, INTEGER minZ, [INTEGER maxZ])
```
Zwraca nazwę kafelka pod punktem `(posX, posY)`. Zachowuje się analogicznie do [`CANVAS_OBSERVER.GETGRAPHICSAT`](CANVAS_OBSERVER.md#getgraphicsat), z tą różnicą, że przeszukuje wyłącznie kafelki tej planszy.
**Parametry**
- `posX`, `posY` — koordynaty sprawdzanego punktu.
- `onlyVisible` — gdy `TRUE`, brane są pod uwagę tylko widoczne kafelki.
- `ignoreAlpha` — gdy `TRUE`, sprawdzany jest tylko prostokąt; gdy `FALSE`, test uwzględnia kanał alfa piksela.
- `minZ` — minimalna warstwa.
- `maxZ` — (opcjonalnie) maksymalna warstwa.
**Zwraca**: [`STRING`](STRING.md) — nazwa kafelka lub `"NULL"`.
**Przykłady**
```
PATTERNMASKKRET^GETGRAPHICSAT([ANNKRET^GETCENTERX()+20],ANNKRET^GETCENTERY(),TRUE,FALSE,0,1);
PATTERNFIRE^GETGRAPHICSAT(ANNCOLLUP^GETCENTERX(),ANNCOLLUP^GETCENTERY(),FALSE,FALSE,0);
```
### MOVE
```
void MOVE(INTEGER offsetX, INTEGER offsetY)
```
Przesuwa planszę o zadane wartości w osiach X i Y.
**Parametry**
- `offsetX`, `offsetY` — wektor przesunięcia.
**Przykłady**
```
PATBOARD^MOVE(0,-3000);
PATTERNBKG^MOVE(VARINT0,0);
```
## Sygnały
### ONINIT
Wywoływany w momencie inicjalizacji obiektu.
### ONSIGNAL
Wywoływany po otrzymaniu sygnału (zobacz [Zdarzenia i sygnały](../engine/events.md#onsignal)).