我正在聯合進行在線遊戲聊天。它是通過一個預製的ChatObject來完成的,它包含一個腳本以及繪製文本和窗口所需的所有內容。該聊天包含一個帶有最後30條消息的SyncListString,這是從服務器同步到客戶端,但不是相反。統一報價「,這是命令的工作」Unity網絡聊天,需要圍繞命令更新聊天的方式
[Command]
void CmdUpdateChatAcross(string message)
{
UpdateChat(message);
RpcUpdateChat();
}
[ClientRpc]
void RpcUpdateChat()
{
UpdateChat("");
}
UpdateChat()只是用新消息繪製同步列表。 這對於一個服務器和一個客戶端來說當前工作正常,因爲我可以用客戶端授權產生聊天對象。客戶端需要授權才能將命令發送到服務器版本。但我還沒有弄清楚(或者肯定我想)如何將聊天對象的權限授予所有客戶端。
我只是不這樣做嗎?尋找另一種方式?有一個功能可以分配給所有者,但還沒有弄清楚它是如何工作的,或者它是否只授予當地版本的權限。正如我假設我不能擁有多個所有者。
服務器可以發送消息到所有客戶端沒有問題。但我無法讓玩家正確地將他們的消息發送到服務器。