from github
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using UnityEngine.SceneManagement;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Net.Sockets;
|
||||
|
||||
|
||||
|
||||
public class NetworkJoinFunction : MonoBehaviour
|
||||
|
||||
{
|
||||
[SerializeField] private Button enterButton;
|
||||
[SerializeField] private TMP_Text inputText;
|
||||
|
||||
[SerializeField] private TMP_Text infoText;
|
||||
// Start is called before the first frame update
|
||||
public void Start()
|
||||
{
|
||||
enterButton.onClick.AddListener(() =>
|
||||
{
|
||||
//check if there ip entered is valid
|
||||
//for any reason the keyboard of blackwhale studios creates zero width whitespaces, this must be cleared!
|
||||
//https://en.wikipedia.org/wiki/Zero-width_space
|
||||
if (IsValidIPv4(inputText.text.Replace("\u200B", "")))
|
||||
{
|
||||
setNetworkData(inputText.text);
|
||||
SceneManager.LoadScene("ClassRoom");
|
||||
}
|
||||
else
|
||||
{
|
||||
infoText.text = "Die Eingabe scheint keine valide IPv4-Adresse zu sein.\n Bitte �berpr�fe deine Eingabe und achte drauf, die Zieladresse wie folgt anzugeben \n 127.0.0.1";
|
||||
}
|
||||
});
|
||||
}
|
||||
public bool IsValidIPv4(string ipAddress)
|
||||
{
|
||||
//the pattern that a valid ipv4 must match
|
||||
string pattern = @"^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$";
|
||||
Regex regex = new Regex(pattern);
|
||||
|
||||
return regex.IsMatch(ipAddress);
|
||||
}
|
||||
|
||||
//just make the current client a client (no server/host etc.)
|
||||
public void setNetworkData(string hostadress)
|
||||
{
|
||||
PlayerPrefs.SetString("hostadress", hostadress.Replace("\u200B", ""));
|
||||
PlayerPrefs.SetString("status", "client");
|
||||
PlayerPrefs.Save();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user