你好标题太笼统了,但是我心里有几个问题。我是UnityNetworking的新手。我正在观看quill18上的youtube教程,并尝试在我的项目中实施。因此,我知道[SyncVar]值只能在服务器中设置和同步。但是,即使我检查了isServer> hasAuthority> isLocalPlayer,我也无法正确同步它们。我只能仅在isServer下进行同步。问题开始了。
我的代码
private void Update()
{
ServerUpdate();
ClientUpdate();
}
[SyncVar] public int syncIT_1;
[SyncVar] public int syncIT_2;
void WillItSyncNow()
{
if (isServer)
{
syncIT_1 = 300;
syncIT_2 = 300;
}
}
[Command]
void CmdSyncPlease()
{
syncIT_1 = 400;
syncIT_2 = 400;
}
void ServerUpdate()
{
if (isServer)
{
syncIT_1 = 100;
syncIT_2 = 100;
if (hasAuthority)
{
syncIT_1 = 200;
syncIT_2 = 200;
if (isLocalPlayer == true)
{
WillItSyncNow();
CmdSyncPlease();
}
}
}
}
“我的服务器客户端”的最新值:
我的客户最新值: