Здравствуйте, заголовок был слишком общим, но у меня в голове несколько проблем.Я новичок в UnityNetworking.Я смотрю учебник YouTube из Quill18 и пытаюсь реализовать на моем проекте.Поэтому я знаю, что значения [SyncVar] можно устанавливать и синхронизировать только на сервере.Но даже когда я проверяю isServer> hasAuthority> isLocalPlayer, я не могу их правильно синхронизировать.Я могу только синхронизировать их только под isServer.Здесь начинается проблема ..
- Итак, у меня есть две публичные переменные типа int с [SyncVar], и я проверяю их значения в Unity3D, если они изменились.
- Если я изменю их в операторе isServer if, они изменятся как в Server, так и в Client на 100 и 100.
- Но после этого, если я изменю их в hasAuthority, если оператор не изменится в том же выражениидля isLocalPlayer ...
- Я пытался изменить их в функции перед проверкой, не работает ли isServer.
- Даже если я попробую функцию [Command], я знаю, что она работает на сервере. Значения по-прежнему не изменились.
мой код
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();
}
}
}
}
Мой сервер-клиентПоследние значения:

Мой клиент Последние значения:
