193 lines
5.5 KiB
C#
193 lines
5.5 KiB
C#
|
using System;
|
|||
|
using UnityEngine;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Linq;
|
|||
|
using System.Text;
|
|||
|
|
|||
|
class MainState : MonoBehaviour
|
|||
|
{
|
|||
|
public string stringPseudo = "Pseudo";
|
|||
|
public string stringHost = "IP:PORT";
|
|||
|
private int preStatus = -1;
|
|||
|
|
|||
|
public float preTime = 0;
|
|||
|
public Boolean windowOpen = false;
|
|||
|
public int winID = -1;
|
|||
|
public Rect windowRect = new Rect(Screen.width / 2 - 100, Screen.height / 2 - 50, 200, 100);
|
|||
|
|
|||
|
void Start()
|
|||
|
{
|
|||
|
windowRect = new Rect(Screen.width / 2 - 100, Screen.height / 2 - 50, 200, 100);
|
|||
|
}
|
|||
|
|
|||
|
void Update()
|
|||
|
{
|
|||
|
if(preStatus != MainClient.connected)
|
|||
|
{
|
|||
|
if (MainClient.connected == MainState_Connection_Request_Packet.REQUEST)
|
|||
|
{
|
|||
|
preTime = Time.time;
|
|||
|
}
|
|||
|
if (MainClient.connected == MainState_Connection_Request_Packet.ACCEPTED)
|
|||
|
{
|
|||
|
winID = 0;
|
|||
|
windowOpen = true;
|
|||
|
}
|
|||
|
if (MainClient.connected == MainState_Connection_Request_Packet.REFUSED)
|
|||
|
{
|
|||
|
winID = 5;
|
|||
|
windowOpen = true;
|
|||
|
}
|
|||
|
if (MainClient.connected == MainState_Connection_Request_Packet.TIME_OUT)
|
|||
|
{
|
|||
|
winID = 4;
|
|||
|
windowOpen = true;
|
|||
|
MainClient.client.disconnect();
|
|||
|
}
|
|||
|
if (MainClient.connected == MainState_Connection_Request_Packet.ALREADY_CONNECTED)
|
|||
|
{
|
|||
|
winID = 7;
|
|||
|
windowOpen = true;
|
|||
|
}
|
|||
|
if (MainClient.connected == MainState_Connection_Request_Packet.PSEUDO_INCORRECT)
|
|||
|
{
|
|||
|
winID = 2;
|
|||
|
windowOpen = true;
|
|||
|
}
|
|||
|
preStatus = MainClient.connected;
|
|||
|
}
|
|||
|
if(preStatus == 0 && preStatus == MainClient.connected)
|
|||
|
{
|
|||
|
if ((Time.time - preTime) >= 10)
|
|||
|
{
|
|||
|
MainClient.connected = MainState_Connection_Request_Packet.TIME_OUT;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
void OnGUI()
|
|||
|
{
|
|||
|
GUILayout.BeginArea(new Rect(Screen.width/2 - 50, Screen.height / 2 - 50, 100, 100));
|
|||
|
stringHost = GUILayout.TextField(stringHost);
|
|||
|
stringPseudo = GUILayout.TextField(stringPseudo);
|
|||
|
if (GUILayout.Button("Login"))
|
|||
|
{
|
|||
|
if(stringHost.Length > 0)
|
|||
|
{
|
|||
|
if(stringPseudo.Length > 0)
|
|||
|
{
|
|||
|
string[] c = stringHost.Split(':');
|
|||
|
string host = "";
|
|||
|
int port = 9999;
|
|||
|
if (c.Length == 1)
|
|||
|
{
|
|||
|
host = c[0];
|
|||
|
MainClient.connect(host, port, stringPseudo);
|
|||
|
winID = 6;
|
|||
|
windowOpen = true;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
host = c[0];
|
|||
|
if (Int32.TryParse(c[1], out port))
|
|||
|
{
|
|||
|
MainClient.connect(host, port, stringPseudo);
|
|||
|
winID = 6;
|
|||
|
windowOpen = true;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
winID = 1;
|
|||
|
windowOpen = true;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
winID = 2;
|
|||
|
windowOpen = true;
|
|||
|
}
|
|||
|
|
|||
|
}else
|
|||
|
{
|
|||
|
winID = 3;
|
|||
|
windowOpen = true;
|
|||
|
}
|
|||
|
}
|
|||
|
GUILayout.EndArea();
|
|||
|
if (windowOpen)
|
|||
|
{
|
|||
|
GUI.Box(windowRect, "");
|
|||
|
GUI.Box(windowRect, "");
|
|||
|
GUI.Box(windowRect, "");
|
|||
|
GUI.Box(windowRect, "");
|
|||
|
windowRect = GUILayout.Window(winID, windowRect, connectedWindow, "Information");
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
void connectedWindow(int windowID)
|
|||
|
{
|
|||
|
if(windowID == 0)
|
|||
|
{
|
|||
|
GUILayout.Label("Connexion réussi !");
|
|||
|
if (GUILayout.Button("Valider"))
|
|||
|
{
|
|||
|
windowOpen = false;
|
|||
|
}
|
|||
|
}
|
|||
|
else if (windowID == 1)
|
|||
|
{
|
|||
|
GUILayout.Label("Le Port entré est incorrect !");
|
|||
|
if (GUILayout.Button("Valider"))
|
|||
|
{
|
|||
|
windowOpen = false;
|
|||
|
}
|
|||
|
}
|
|||
|
else if (windowID == 2)
|
|||
|
{
|
|||
|
GUILayout.Label("Pseudo incorrect !");
|
|||
|
if (GUILayout.Button("Valider"))
|
|||
|
{
|
|||
|
windowOpen = false;
|
|||
|
}
|
|||
|
}
|
|||
|
else if (windowID == 3)
|
|||
|
{
|
|||
|
GUILayout.Label("Aucune ip entré !");
|
|||
|
if (GUILayout.Button("Valider"))
|
|||
|
{
|
|||
|
windowOpen = false;
|
|||
|
}
|
|||
|
}
|
|||
|
else if (windowID == 4)
|
|||
|
{
|
|||
|
GUILayout.Label("Echec de la connexion");
|
|||
|
if (GUILayout.Button("Valider"))
|
|||
|
{
|
|||
|
windowOpen = false;
|
|||
|
}
|
|||
|
}
|
|||
|
else if (windowID == 5)
|
|||
|
{
|
|||
|
GUILayout.Label("Connexion refusée !");
|
|||
|
if (GUILayout.Button("Valider"))
|
|||
|
{
|
|||
|
windowOpen = false;
|
|||
|
}
|
|||
|
}
|
|||
|
else if (windowID == 6)
|
|||
|
{
|
|||
|
GUILayout.Label("Connexion en cours...");
|
|||
|
}
|
|||
|
else if (windowID == 7)
|
|||
|
{
|
|||
|
GUILayout.Label("Vous etes déja connecté !");
|
|||
|
if (GUILayout.Button("Valider"))
|
|||
|
{
|
|||
|
windowOpen = false;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|