Une des choses très utiles qu'il est possible de faire en FunDelphi mais pas en SimpleSquares, est la création de plugins à greffer au joueur.
Les plugins ont déjà été introduits dans les concepts de FunLabyrinthe. Ils permettent de modifier de A à Z la réaction au joueur à tous les événements survenant dans FunLabyrinthe, y compris l'appui sur une touche du clavier. Ils permettent aussi de modifier l'aspect du joueur, ou sa vue. Les plugins sont indispensable à de nombreux cas de figures.
Premier exemple : un "sauveteur"
Imaginons un labyrinthe dans lequel il y a beaucoup d'impasses. On peut vouloir que le joueur puisse revenir facilement au début, s'il appuie sur la touche 'A' de son clavier par exemple. Un plugin très simple permet d'obtenir cet effet.
plugin TGoToBeginningPlugin hint 'Plugin qui fait revenir en début en appuyant sur A'; on PressKey do begin if Key = Ord('A') then begin Player.MoveTo(Point3D(1, 1, 0)); Handled := True; end; end; end;
L'événement PressKey est déclenché lorsque le joueur appuie sur une touche quelconque de son clavier, et Key indique laquelle. Le point (1, 1, 0) est supposé être le point de départ.
N'oubliez pas que pour que cela fonctionne, le plugin doit être attaché au joueur. Ceci peut être fait dans l'inspecteur d'objets après avoir sélectionné le joueur.