62 lines
2.2 KiB
C#
62 lines
2.2 KiB
C#
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
using NeonTea.Quakeball.TeaNet.Peers;
|
|
using NeonTea.Quakeball.Networking.Packets;
|
|
using System;
|
|
|
|
namespace NeonTea.Quakeball.Networking {
|
|
public class CanvasInput : MonoBehaviour, PeerMessageListener {
|
|
public Button Host;
|
|
public Button Join;
|
|
public Button Stop;
|
|
public Button Send;
|
|
public InputField HostAddr;
|
|
public InputField Port;
|
|
public InputField MessageField;
|
|
public Text TextField;
|
|
|
|
private static List<string> Stuff = new List<string>();
|
|
|
|
void Start() {
|
|
Host.onClick.AddListener(() => {
|
|
string addr = String.IsNullOrWhiteSpace(HostAddr.text) ? "0.0.0.0" : HostAddr.text;
|
|
string port = String.IsNullOrWhiteSpace(Port.text) ? "8080" : Port.text;
|
|
Debug.Log(addr);
|
|
Net.Singleton.StartServer(addr, Int32.Parse(port), "", this);
|
|
});
|
|
Join.onClick.AddListener(() => {
|
|
string addr = String.IsNullOrWhiteSpace(HostAddr.text) ? "127.0.0.1" : HostAddr.text;
|
|
string port = String.IsNullOrWhiteSpace(Port.text) ? "8080" : Port.text;
|
|
Net.Singleton.StartClient(addr, Int32.Parse(port), "", this);
|
|
});
|
|
Stop.onClick.AddListener(() => {
|
|
Net.Quit();
|
|
});
|
|
Send.onClick.AddListener(() => {
|
|
if (Net.Singleton.Instance.Peer != null) {
|
|
foreach (ulong uid in Net.Singleton.Instance.Connections) {
|
|
HelloPckt pckt = new HelloPckt();
|
|
pckt.Text = MessageField.text;
|
|
Net.Singleton.Instance.Peer.SendReliableLater(uid, pckt);
|
|
Net.Singleton.Instance.Peer.SendReliable(uid, pckt);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
void Update() {
|
|
TextField.text = string.Join("\n", Stuff.ToArray());
|
|
}
|
|
|
|
public void Message(string text) {
|
|
Stuff.Add(text);
|
|
Debug.Log(text);
|
|
}
|
|
|
|
public void Err(string text) {
|
|
Debug.Log(text);
|
|
}
|
|
|
|
}
|
|
} |