[Unity Mirror] Network Room Manager

81 篇文章 30 订阅

RuntimeMapMaker3D-Pro在这里插入图片描述


英文原文:

https://mirror-networking.gitbook.io/docs/components/network-room-manager

请查看 Mirror 文件夹中示例文件夹中的 Room 示例。

  Network Room Manager是一种专门的网络管理器,在进入游戏的主要游戏场景之前提供一个多人房间。它允许你建立一个带有以下内容的网络:

  • 最大玩家限制
  • 当所有玩家都准备好时自动开始
  • 游戏开始后锁定,防止迟到者
  • 玩家在房间内选择选项的可定制方式
Room Player Prefab
  • 每个玩家一个
  • 在客户端连接或添加player时创建
  • 持续到客户端断开连接
  • 保存就绪标志和配置数据
  • 处理房间内的命令
  • 必须使用 Network Room Player 组件
Player Prefab
  • 每个玩家一个
  • 游戏场景开始时创建
  • 离开游戏场景时销毁
  • 处理游戏中的命令

在这里插入图片描述


属性

  • Show Room GUI
    显示房间的默认 OnGUI 控件。

  • Min Players
    开始游戏所需的最少玩家人数。

  • Room Player Prefab
    玩家进入房间时为他们创建的预制件(需要 Network Room Player 组件)。

  • Room Scene
    用于房间的场景。

  • Gameplay Scene
    用于主游戏的场景。

  • pendingPlayers
    包含准备开始游戏的玩家的列表。

  • roomSlots
    管理房间中已连接客户端的插槽的列表。

  • allPlayersReady
    Bool 指示是否所有玩家都准备好开始游戏。当玩家调用 CmdChangeReadyState 指示真或假时,此值会发生变化,并且会在新客户端连接时设置为假。


函数

服务器虚拟方法

public virtual void OnRoomStartHost() {}
public virtual void OnRoomStopHost() {}
public virtual void OnRoomStartServer() {}
public virtual void OnRoomServerConnect(NetworkConnection conn) {}
public virtual void OnRoomServerDisconnect(NetworkConnection conn) {}
public virtual void OnRoomServerSceneChanged(string sceneName) {}
public virtual GameObject OnRoomServerCreateRoomPlayer(NetworkConnection conn)
{
    return null;
}
public virtual GameObject OnRoomServerCreateGamePlayer(NetworkConnection conn)
{
    return null;
}
public virtual bool OnRoomServerSceneLoadedForPlayer(GameObject roomPlayer, GameObject gamePlayer)
{
    return true;
}
public virtual void OnRoomServerPlayersReady()
{
    ServerChangeScene(GameplayScene);
}

客户端虚拟方法

public virtual void OnRoomClientEnter() {}
public virtual void OnRoomClientExit() {}
public virtual void OnRoomClientConnect(NetworkConnection conn) {}
public virtual void OnRoomClientDisconnect(NetworkConnection conn) {}
public virtual void OnRoomStartClient() {}
public virtual void OnRoomStopClient() {}
public virtual void OnRoomClientSceneChanged(NetworkConnection conn) {}
public virtual void OnRoomClientAddPlayerFailed() {}
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值