经过上一节的学习,同学们都知道Network Manager HUD组件和Network Manager组件要配合着使用。Network Manager HUD为Network Manager提供简单的登陆界面,可是我们不想用简易的界面,我们想自己做属于自己项目的高大上的界面该怎么办呢?这篇文章讲讲如何自己创建一个简单的Network Manager 界面。
一. 跟上一篇一样,我们首先要创建一个空对象命名为NetworkManager,为其添加Network Manager组件。
二 . 为Network Manager对象添加新脚本,命名为SimpleNetworkGUI,为其添加如下代码;
- using UnityEngine;
- using UnityEngine.Networking;
-
- public class SimpleNetworkGUI : MonoBehaviour
- {
-
- bool isHaveNetworkRole = false;
-
- void Start()
- {
-
-
- isHaveNetworkRole = false;
- }
-
- private void OnDisconnected()
- {
- isHaveNetworkRole = false;
-
- }
-
- void OnGUI()
- {
- if(isHaveNetworkRole)
- {
- if(GUI.Button(new Rect(Screen.width / 2 - 80, Screen.height / 2 - 12, 160, 24), "Stop"))
- {
- NetworkManager.singleton.StopServer();
- NetworkManager.singleton.StopClient();
- NetworkManager.singleton.StopHost ();
- OnDisconnected();
- }
- return;
- }
- if(GUI.Button(new Rect(Screen.width / 2f - 80, Screen.height / 2 - 48, 160, 24), "Start Host"))
- {
- var client = NetworkManager.singleton.StartHost();
- isHaveNetworkRole = true;
-
- }
- if(GUI.Button(new Rect(Screen.width / 2f - 80, Screen.height / 2 - 12, 160, 24), "Start Server"))
- {
- isHaveNetworkRole = NetworkManager.singleton.StartServer();
- }
-
- if(GUI.Button(new Rect(Screen.width / 2f - 80, Screen.height / 2 + 24, 160, 24), "Start Client"))
- {
- var client = NetworkManager.singleton.StartClient();
- isHaveNetworkRole = true;
- }
- }
- }
三 .
四 . 运行起来看看效果
结束了 哇咔咔,o(^▽^)o 这次的内容是不是超级简单。