syncVar
server, clientともに共通して使うパラメータはsyncVarを付けるのが良い。
serverでのみ変更可能。
clientから値を変更する場合
Command
を使ってclientから実行 > その関数内でClientRpc
を使ってserverから全clientへ実行
例えば、チャットでメッセージを送る場合
// clientからserverに対して実行 [Command(requiresAuthority = false)] void CmdSend(string message, NetworkConnectionToClient sender = null) { RpcReceive(connNames[sender], message.Trim()); } // serverからすべてのclientに対して実行 [ClientRpc] void RpcReceive(string playerName, string message) { string prettyMessage = playerName == localPlayerName ? $"<color=red>{playerName}:</color> {message}" : $"<color=blue>{playerName}:</color> {message}"; AppendMessage(prettyMessage); }