Chapitre 6. Étendre les fonctionnalités du moteur

Le moteur est fait pour être particulièrement général et pouvoir s’adapter à toutes les situations. Il peut donc arriver que certaines fonctionnalités ne vous conviennent pas ou que vous souhaitiez développer de nouveaux outils.

Dans ce chapitre, nous allons détailler la manière de créer de nouvelles actions (c’est le plus courant, les actions étant fortement liées aux règles de votre jeu), de nouveaux types d’entités, de nouveaux types d’objets...

Nous vous recommandons, dans l’esprit de partage qui anime les développeurs du moteur, de passer sur le site officiel du projet pour faire profiter à tous des améliorations que vous pourriez apporter.

6.1 Placer ses fichiers

La licence LGPL vous autorise à modifier directement les sources du moteur. Cependant, pour faciliter les éventuelles mises à jour, ou toute autre opération qui nécessiterait d’effacer le dossier contenant le moteur, il vous est recommandé de placer vos fichiers dans un dossier séparé, imitant la hiérarchie du moteur.

Supposons l’architecture suivante:

Racine de votre site
  |
  -- GamePHP (source du moteur)
  -- site (votre site)
  -- ext (vos nouveaux fichiers)

Il faut préciser au moteur que vous avec développé des fichiers en plus et lui indiquer le chemin vers le dossier les contenant. Ceci se fait en définissant la constante _GAME_DIR (ne pas oublier le / final). Exemple.

define("_GAME_DIR", "/chemin/vers/mes/fichiers/");

Par la suite, lorsque vous tenterez d’inclure un fichier à l’aide de la fonction Engine::file, le moteur privilégiera vos fichiers à ceux qui lui appartiennent. Des détails et des exemples vous seront donnés dans la suite de ce chapitre.

Attention: un certain nombre de fichiers ne peuvent être réécrits. Ces fichiers constituent la base du moteur. Ils sont définis dans le fichier Engine.php dans la variable statique $not_rewrite. En voici la liste (susceptible d’être modifiée): Action, Engine, Entity, Globals, Manager, Object, Prototype
Si vous placiez tout de même un fichier contenant l’un de ces noms dans votre nouveau dossier, le moteur l’ignorerait .

6.2 Créer une nouvelle action

6.3 Créer un nouveau type d'entité

6.4 Créer un nouveau type d'objet

 
etendre_les_fonctionnalites_du_moteur.txt · Last modified: 2005/10/17 22:15
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki