You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
2.1 KiB
76 lines
2.1 KiB
4 years ago
|
using System;
|
||
|
using System.Collections;
|
||
|
using System.Collections.Generic;
|
||
|
using UnityEngine;
|
||
|
using UnityEngine.UI;
|
||
|
using AX.DrillOnlineServer;
|
||
|
using System.Text.RegularExpressions;
|
||
|
using AX.NetworkSystem;
|
||
|
|
||
|
public class CreateRoom : MonoBehaviour {
|
||
|
|
||
|
public MapType mapType;
|
||
|
private InputField roomName;
|
||
|
private InputField roomPassword;
|
||
|
private Text hint;
|
||
|
// Use this for initialization
|
||
|
void Start () {
|
||
|
roomName = GameObject.Find("DisasterInfo/RoomName/InputField").GetComponent<InputField>();
|
||
|
roomPassword = GameObject.Find("DisasterInfo/RoomPassword/InputField").GetComponent<InputField>();
|
||
|
hint = transform.parent.Find("Hints").GetComponent<Text>();
|
||
|
|
||
|
GetComponent<Button>().onClick.AddListener(CreatedRoom);
|
||
|
}
|
||
|
|
||
|
private void OnDestroy()
|
||
|
{
|
||
|
GetComponent<Button>().onClick.RemoveListener(CreatedRoom);
|
||
|
}
|
||
|
|
||
|
private void CreatedRoom()
|
||
|
{
|
||
|
if (mapType == null)
|
||
|
{//没有选中灾情
|
||
|
hint.text = "请选择灾情!";
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
if (roomName.text == "")
|
||
|
{//房间名必填
|
||
|
hint.text = "请输入房间名称!";
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
Regex rex = new Regex("^[1-9]\\d{2,5}$");
|
||
|
|
||
|
if (roomPassword.text != "")
|
||
|
{
|
||
|
if (!rex.IsMatch(roomPassword.text))
|
||
|
{
|
||
|
hint.text = "房间密码由3-6位非0开头的数字组成!";
|
||
|
return;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Room room = new Room();
|
||
|
room.Name = roomName.text;
|
||
|
room.Password = roomPassword.text == ""? "" : SHA256HashAlgorithmHelper.GetSHA256hash(roomPassword.text);
|
||
|
|
||
|
UserData owner = new UserData();
|
||
|
owner.UserInfo = CurrentUserInfo.mySelf;
|
||
|
owner.Role = CurrentUserInfo.role;
|
||
|
owner.Org = CurrentUserInfo.organization;
|
||
|
room.Owner = owner;
|
||
|
|
||
|
room.Map = mapType;
|
||
|
room.Mode = GameSettings.othersSettings.mode;
|
||
|
|
||
|
NetworkManager.Default.SendRequestAsync("ROOM_CREATE_REQUEST", room);
|
||
|
}
|
||
|
|
||
|
// Update is called once per frame
|
||
|
void Update () {
|
||
|
|
||
|
}
|
||
|
}
|