1.把(7)中的功能复现在注册界面的确定按钮上,到此为止还没有实现网络功能,不要急
第一步:在RegPanelScript脚本中增加如下函数。
public void RegistClick()//登录按钮
{
//先find,tag的效率更高-给input filed的text添加标签
TMP_Text a = GameObject.FindWithTag("usernameR").GetComponent<TMP_Text>(); ;//得到两个Text对象
TMP_Text b = GameObject.FindWithTag("passwordR").GetComponent<TMP_Text>(); ;//
string username = a.text;
string password = b.text;
//把账号密码放到一个SocketModel中所定义的类中(其实就是一个结构体)
LoginDTO dto = new LoginDTO();
dto.userName = username;
dto.passWord = password;
string message = Coding<LoginDTO>.encode(dto);
//判断是否为空
if (username != string.Empty && password != string.Empty)
{
//不是发送给服务器,而是利用游戏内部的消息机制
Debug.Log("发送消息给MessageManager");
NetWorkScript.getInstance().sendMessage(0, 2, 0, message);//这么做主要是为了体验一下unity的消息机制,不能直接用宏名称using不过来
}
//这里根据服务器的返回信息确定是否注册成功
gameObject.SetActive(false);//注册完成后隐藏panel
}
第二步:给注册界面的两个input的text增加对应的tag。
第三步:给注册按钮的OnClick函数关联第一步中的函数。
最后,测试所有程序功能都能正常运行。