A PAWN programozási nyelv

Eseményvezérlés, Állapotok

Eseményvezérlés

Sok esetben szükségünk van arra, hogy az alkalmazásunk reagáljon különböző eseményekre. A PAWN még erre is biztosít lehetőséget. Fontos, hogy ezeket mind az absztrakt gépben kell megvalósítani. (Azaz az applikáció melyik függvényhívása váltson ki eseményt). Nincs előre definiált szabvány könyvtár ehhez, a programozó kódolhatja le az eseményeket. Több belépési pont is lehetséges (Multiple events), például az AmxModXben is - ami egy absztark gép.

Programozás állapotokkal

Függvények

State-ek segítségével állapotokat reprezentálhatunk, ami eghatározza egy eseménynél lefuttatandó függvényt. Ebben az esetben egy függvényt többször definiálhatunk, csupán az állapotok - amelyeket hozzárendelünk - lehetnek különbözőek, pontosabban, különbözőeknek kell lennie. Ez esemény-vezérelt programnál nagyon nagy előnyt jelent. Új állapotba a state kulcsszóval tudunk jutni.

// pl state Init // Függvényhez rendelt state new a Modositas() <novel> { a++; } Modositas() <csokkent> { a--; }
Több állapotot is rendelhetünk egy függvényhez, viszont arra ügyelnünk kell, ha egy állapotot nem foglalunk le, akkor futás időben leáll az akalmazás. Megoldásként vezették be a fall back state-et, amit <> jelölünk.
Lekeres() <a, b, c> { // ... }

Meg kell adni olyan esetet is, amikor nem vagyunk az adott állapotban: fall back state (<>). Ha ninCs ilyen, a script leállását eredményezheti. Native és forward függvényekhez nem rendelhetőek state-ek

State változók

Mint ahogy függvényekhez, a változókhoz is rendelhetünk állapotokat. Ekkor a felsorolt állapotokban lesz elérhető és módosítható a változó tartalma. Ebből adódóan ezek nem lehetnek stock s public változók.

További infók: