Voici le code du chat donc je vous parle:
Code : Tout sélectionner
using UnityEngine;
using System.Collections;
public class chatScript : MonoBehaviour
{
public GUISkin myskin;
private Rect windowRect = new Rect(200, 200, 300, 450);
private string messBox = "", messageToSend = "", user = "";
private void OnGUI()
{
GUI.skin = myskin;
if (NetworkPeerType.Disconnected != Network.peerType)
windowRect = GUI.Window(1, windowRect, windowFunc, "Chat");
}
private void windowFunc(int id)
{
GUILayout.Box(messBox, GUILayout.Height(350));
GUILayout.BeginHorizontal();
messageToSend = GUILayout.TextField(messageToSend);
if (GUILayout.Button("Envoyez" , GUILayout.Width(75)))
{
GetComponent<NetworkView>().RPC("SendMessage", RPCMode.All, user + ": " + messageToSend + "\n");
messageToSend = "";
}
GUILayout.EndHorizontal();
GUILayout.BeginHorizontal();
GUILayout.Label("Utilisateur:");
user = GUILayout.TextField(user);
GUILayout.EndHorizontal();
GUI.DragWindow(new Rect(0, 0, Screen.width, Screen.height));
}
[RPC]
private void SendMessage(string mess)
{
messBox += mess;
}
}
Et le script de connexion:
Code : Tout sélectionner
using UnityEngine;
using System.Collections;
using System;
public class ConnectionScript : MonoBehaviour
{
private string gameName = "Space région";
private string serverName = "", maxPlayers = "0", port = "80";
private Rect windowRect = new Rect(0, 0, 400, 400);
private void OnGUI()
{
windowRect = GUI.Window (0, windowRect, windowFunc, "Serveurs");
if (Network.peerType == NetworkPeerType.Disconnected)
{
GUILayout.Label ("Nom du serveur");
serverName = GUILayout.TextField (serverName);
GUILayout.Label ("Port");
port = GUILayout.TextField (port);
GUILayout.Label ("Maximum de joueurs");
maxPlayers = GUILayout.TextField (maxPlayers);
if ( GUILayout.Button ("Créer un serveur"))
{
try
{
Network.InitializeSecurity();
Network.InitializeServer(int.Parse(maxPlayers), int.Parse(port), !Network.HavePublicAddress());
MasterServer.RegisterHost (gameName, serverName);
}
catch (Exception)
{
print ("S'il vous plaît taper des chiffres pour les joueurs portuaires et max merci");
}
}
}
else
{
if (GUILayout.Button ("Déconnecter"))
{
Network.Disconnect ();
}
}
}
private void windowFunc(int id)
{
if (GUILayout.Button ("rafraichissement"))
{
MasterServer.RequestHostList (gameName);
}
GUILayout.BeginHorizontal ();
GUILayout.Box ("Nom du serveur");
GUILayout.EndHorizontal ();
if (MasterServer.PollHostList().Length != 0)
{
HostData[] data = MasterServer.PollHostList ();
foreach(HostData c in data)
{
GUILayout.BeginHorizontal ();
GUILayout.Box (c.gameName);
if(GUILayout.Button ("connecter"))
{
Network.Connect (c.ip.ToString(), 80);
}
GUILayout.EndHorizontal ();
}
}
GUI.DragWindow (new Rect (0, 0, Screen.width, Screen.height));
}
}
Voici une vidéo pour vous expliqué ce problème:
http://partageurs.com/laurent1150/Mana+ ... mp4(video)
Merci de bien vouloir m'aidé.