Teleport module - Jul 00 - by Sylvain HUET
-----------

Module Teleport

Paramètre interne : nombre de cellules 3d.

Actions :
-	getpositions (serveur), retourne la liste des positions (via le tag)
-	teleport (serveur), téléporte un user vers la position qui est dans le paramètre
-	define1, define2, ... definen (serveur), définit la liste des positions de la i-ème cellule
-	edit (serveur), ouvre une interface cliente permettant de définir la position par défaut
-	enter (serveur), téléporte un user sur la position par défaut


Evénements :
-	goto1, goto2, ... goton (serveur) : téléporte un user vers la i-ème cellule, sur la position qui est dans le paramètre

Fonctionnement :

Le module gère n listes de positions. Chaque liste contient les positions reçues par l'action 'definei'. Ceci n'est pas incrémental : toute nouvelle définition de positions pour une cellule donnée annule et remplace la précédente.

Sur l'action 'getpositions', il retourne la liste de toutes les positions sous la forme :
	Numéro_de_cellule.nom_position

Sur l'action 'teleport', il analyse le paramètre qui doit être de la forme Numéro_de_cellule.nom_position, et produit un événement (avec le même user) sur une des sorties 'goto' correspondant au numéro de cellule en passant le nom de position en paramètre de l'événement.
-	Si le numéro de cellule est en dehors des limites, il prend arbitrairement la cellule 0
-	Si le nom de position n'est pas dans la liste, il prend le premier de la liste.
Ces règles garantissent qu'un user entrant par l'action 'teleport' ressort toujours immédiatement par une des sorties 'goto'

L'action 'edit' ouvre une interface sur le client, affichant la liste complète des positions de caméra, et permettant de sélectionner une 'position par défaut', qui typiquement correspondra au point d'entrée du site.

L'action 'enter' produit un événement 'gotoi' vers la position par défaut. Si aucune position par défaut n'est définie, ou bien si celle-ci ne correspond plus à une position réelle (la cellule a renouvelé la liste des positions), le user est téléporté vers une position arbitraire (la première de toutes les listes par exemple).

