Unity_Unet_NetWorkManagerHUD

这篇博客介绍了如何在Unity的Unet中使用NetworkManagerHUD组件,以及如何自定义服务器、客户端的启动和停止方法。通过源码分享,展示了如何在不依赖OnGUI的情况下实现相同功能,并提供了相关资源链接供读者深入学习。
摘要由CSDN通过智能技术生成

Unet有一个组件叫NetWorkManagerHUD,添加之后可以快速开启服务器客户端停止等等

但是项目上肯定是不可以用OnGui的,so你需要自己调用这几个开启服务器关闭服务器的方法

百度了一下,发现有源码,粘给大家看一下

using System;
using System.Collections.Generic;
using System.ComponentModel;
using UnityEngine.Networking.Match;
namespace UnityEngine.Networking
{
    [EditorBrowsable(EditorBrowsableState.Never), AddComponentMenu("Network/NetworkManagerHUD"), RequireComponent(typeof(NetworkManager))]
    public class NetworkManagerHUD : MonoBehaviour
    {
        public NetworkManager manager;
        [SerializeField]
        public bool showGUI = true;
        [SerializeField]
        public int offsetX;
        [SerializeField]
        public int offsetY;
        private bool m_ShowServer;
        private void Awake()
        {
            this.manager = base.GetComponent<NetworkManager>();
        }
        private void Update()
        {
            if (!this.showGUI)
            {
                return;
            }
            if (!this.manager.IsClientConnected() && !NetworkServer.active && this.manager.matchMaker == null)
            {
                if (Application.platform != RuntimePlatform.WebGLPlayer)
                {
                    if (Input.GetKeyDown(KeyCode.S))
                    {
                        this.manager.StartServer();
                    }
                    if (Input.GetKeyDown(KeyCode.H))
                    {
                        this.manager.StartHost();
                    }
                }
                if (Input.GetKeyDown(KeyCode.C))
                {
                    this.manager.StartClient();
                }
            }
            if (NetworkServer.active && this.manager.IsClientConnected() && Input.GetKeyDown(KeyCode.X))
            {
                this.manager.StopHost();
            }
        }
        private void OnGUI()
        {
            if (!this.showGUI)
            {
                return;
            }
            int num = 10 + this.offsetX;
            int num2 = 40 + this.offsetY;
            bool flag = this.manager.client == null || this.manager.client.connection == null || this.manager.client.connect

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值