Les portails de ton monde
Un portail de ton monde est fait par un script FL# qui tourne sur le serveur : NodeWorld n'a pas de composant de portail à poser dans la scène. Tous les joueurs de la salle le voient, et le passent pour aller au monde où il mène. Les joueurs déposent aussi leurs propres portails depuis le menu (Déposer le portail, explorer) ; cette page parle des portails de ton monde.
Un portail toujours là
Un script sur le serveur l'ouvre au démarrage du monde, là où se tient son objet :
using NodeWorld.Flux;
namespace MonMonde
{
public class PortailMaison : FluxScript
{
public string serveurCible = ""; // l'ID du serveur du monde visé
public string mondeCible = "HomeWorld";
public string etiquette = ""; // vide : le nom du monde visé
protected override void Start()
{
if (!World.isServer) return;
Portals.Spawn("maison", new PortalOptions
{
targetServer = serveurCible,
targetWorld = mondeCible,
label = etiquette,
position = transform.position,
rotation = transform.rotation,
});
}
}
}Mets-le sur un objet vide là où se tient le portail, avec un composant FL# Script : le portail prend la position et la rotation de l'objet. Il reste jusqu'à la fermeture de la salle ou jusqu'à ce qu'un script le ferme (Portals.Despawn).
Un portail qu'un joueur ouvre
Le Portal kiosk du monde d'exemple (PortalKiosk.cs) est un bouton : le jeu du joueur envoie un événement réseau au serveur, dont le script ouvre un portail devant la borne pendant 30 secondes. Copie-le dans ton monde, donne à son objet un Network Id, et règle targetServer et targetWorld (portails faits par les scripts).
Où il mène
PortalOptions | |
|---|---|
targetServer | L'ID du serveur (un UUID), tel que la liste des serveurs le donne : id dans GET /servers de l'API publique. |
targetWorld | Le World ID du monde sur ce serveur. |
instanceCode | Une instance de ce monde ; vide : NodeWorld en choisit une. |
label | Le nom affiché sur le portail ; vide : le nom du monde visé. |
position, rotation | Où il se tient. |
Portals.Spawn renvoie false quand le serveur refuse le portail (une cible vide, un ID déjà utilisé dans la salle). Les portails ne s'ouvrent que sur un serveur : en Play mode, Spawn renvoie false (limites).
