【发布时间】:2016-08-25 06:38:07
【问题描述】:
我正在为一个在线游戏统一聊天。它是通过一个包含脚本的预制 ChatObject 以及绘制文本和窗口所需的一切来完成的。聊天包含一个带有最后 30 条消息的 SyncListString,这是从服务器同步到客户端的,但反之则不然。统一引用“这是命令的工作”
[Command]
void CmdUpdateChatAcross(string message)
{
UpdateChat(message);
RpcUpdateChat();
}
[ClientRpc]
void RpcUpdateChat()
{
UpdateChat("");
}
UpdateChat() 简单地绘制出带有新消息的同步列表。 这目前适用于一台服务器和一台客户端,因为我可以通过客户端授权生成聊天对象。客户端需要授权才能向其服务器版本发送命令。但是我还没有想出(或者确定我想)如何将聊天对象的权限授予所有客户。
我只是不这样做吗?寻找其他方法?有一个分配所有者的功能,但尚未弄清楚它是如何工作的,或者它是否只会授予对本地版本的权限。我假设我不能拥有多个所有者。
服务器可以毫无问题地向所有客户端发送消息。但是我无法让玩家正确地将他们的消息发送到服务器。
【问题讨论】:
标签: c# networking unity3d