学习unity官方的网络插件Netcode【一】
对bool值的个人理解:
IsOwner:本地网络对象
IsLocalPlayer:本地网络玩家,(本地网络玩家也是本地网络对象)
using Unity.Netcode;
using UnityEngine;
//个人理解:通过Rpc完成了一次客户端给服务端发消息,服务端再向所有客户端广播消息
public class RpcTest : NetworkBehaviour
{
public override void OnNetworkSpawn()
{
if (!IsServer && IsOwner) //只从拥有此NetworkBehaviour实例的NetworkObject的客户端向服务器发送RPC
{
ServerOnlyRpc(0, NetworkObjectId);
}
}
[Rpc(SendTo.Server)]
void ServerOnlyRpc(int value, ulong sourceNetworkObjectId)
{
//Debug.Log($"服务器接收RPC #{value} on NetworkObject #{sourceNetworkObjectId}");
ClientAndHostRpc(value, sourceNetworkObjectId);
}
[Rpc(SendTo.ClientsAndHost)]
void ClientAndHostRpc(int value, ulong sourceNetworkObjectId)
{
//Debug.Log($"客户端收到RPC #{value} on NetworkObject #{sourceNetworkObjectId}");
if (IsOwner) //只向NetworkObject的所有者发送RPC
{
ServerOnlyRpc(value + 1, sourceNetworkObjectId);
}
}
}
原文地址:https://blog.csdn.net/hyt0626/article/details/140616144
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!