Delegatii nu reusesc

Delegați ca funcție de argumentare

În motorul Unreal 3, delegații pot fi de asemenea folosiți ca argumente pentru funcții. Mai întâi trebuie să declarați un delegat așa cum este arătat mai sus și apoi să-l utilizați ca parametru funcțional:







Acum, funcția de mai sus poate accepta un delegat ca parametru, de exemplu:

Delegați apelul

Delegatul este chemat în același mod ca și chemarea la funcția obișnuită:

Sau, în cazul în care delegatul este un argument pentru această funcție:

Atribuirea unui indicator al funcției unui delegat

Ultimele două linii ale evenimentului inițializat atribuie un indicator pentru funcția MyClick delegațiilor OnClick ale butoanelor obiectului MyDialogBox. Când funcția MouseUp a clasei Button apelează delegatul OnClick. atunci funcția MyClick a clasei MyDialogBox este executată. Fără a utiliza delegații, va trebui să creați o clasă copil pentru fiecare buton care moștenește clasa Button.







În plus, puteți atribui delegați la proprietățile implicite de bloc<>. de exemplu:

De asemenea, puteți atribui Niciunul fiecărui delegat. În acest caz, nu se întâmplă nimic atunci când este chemat delegatul.

Delegatii pot fi transmise ca argumente pentru functii, care la randul lor pot fi folosite pentru a atribui un delegat unei clase de proprietate.

Delegați și obiecte la distanță

Dacă actorul a cărui funcție se referă la delegat, este șters, nimic nu se va întâmpla când delegatul este chemat, ca în cazul în care delegatul a fost setat la Nici unul.

Determinarea corpului unui delegat

Puteți defini corpul delegatului, de exemplu:

În acest caz, dacă apelați delegatul OnClick. indicând spre Nici una. atunci trupul lui va fi împlinit. Puteți utiliza acest mecanism pentru a atribui o acțiune implicită delegatului.

Acest document este o traducere a documentului original delegat UnrealScript.







Articole similare

Trimiteți-le prietenilor: