重写UNET

重写UNET

  • 序言
  • UNET框架
    • NetworkLobbyManager
      • Server部分
      • Client部分
      • 第一步 搭建初始UI

序言

Unity联网的方式有很多种,出名的有UNET(Unity自己家的,我看发展蓝图里面好像要改版,把一些API去掉用其他的代替)、Photon(第三方插件,很牛逼,支持互联网),今天我给大家说说怎么重写UNET,当然不是完全重写,是重写部分方法。废话不多说,赶紧来看。

UNET框架

网上已经有很多例子和入门教程了,我在这里不再赘述了,我就直接说说重写的部分。重写的话主要是针对NetworkLobbyManager和NetworkManager两大组件来重写的。

NetworkLobbyManager

这个组件是一个控制由大厅到正式游戏的组件,大厅什么意思呢?类似于魔兽争霸和红警里面的建房间,首先有一个主机建房间,然后其他玩家才能加入,加入以后点准备,所有玩家准备好了才能正式开始游戏。AssetStore里面的例子,都是服务端和客户端一样的,进了游戏以后选择你是服务端还是客户端,这次我为大家弄一个不一样的,服务器和客户端的逻辑完全不同,但可以相互通信。先来看下我们要重写的NetworkLobbyManager的主要函数:

Server部分

public void OnStartServer();服务器一开始的时候执行
public GameObject OnLobbyServerCreateLobbyPlayer(NetworkConnection conn, short playerControllerId);创建好大厅后,返回要创建的玩家预制体
public void OnServerDisconnect(NetworkConnection conn);当客户端断开连接的时候

Client部分

public void OnClientConnect(NetworkConnection conn);客户端连接到服务器的时候执行
public void OnClientDisconnect(NetworkConnection conn);客户端断开的时候执行

以上两部分,虽然都是在同一个组件里,但是会在不同的端执行,Server部分的函数就在服务器执行,Client部分的函数就在客户端执行。

第一步 搭建初始UI

这一步请参考我的另一篇文章UI框架

你可能感兴趣的:(Unity)