Я делаю многопользовательскую игру и хочу, чтобы игрок взаимодействовал с неигровым объектом (преобразование которого может быть изменено любым игроком). Когда я взаимодействую с игроком, который присоединился первым (или с парнем, который принимает гостей), он работает, но если я пытаюсь взаимодействовать с другим игроком (тем, который присоединился вторым), объекты возвращаются в то место, которое покинул первый игрок. его на.
Итак, я попытался изменить полномочия объекта, не являющегося игроком, но у меня возникли следующие ошибки. Кто-нибудь сталкивается с такой же проблемой или знает другой способ выполнить указанную выше задачу? Я использую следующий код для изменения полномочий:
[Command]
void Cmd_AssignLocalAuthority(GameObject obj)
{
print("shifting authority successfully");
NetworkInstanceId nIns = obj.GetComponent<NetworkIdentity>().netId;
GameObject client = NetworkServer.FindLocalObject(nIns);
NetworkIdentity ni = client.GetComponent<NetworkIdentity>();
ni.AssignClientAuthority(connectionToClient);
}
[Command]
void Cmd_RemoveLocalAuthority(GameObject obj)
{
print("reverting authority successfully");
NetworkInstanceId nIns = obj.GetComponent<NetworkIdentity>().netId;
GameObject client = NetworkServer.FindLocalObject(nIns);
NetworkIdentity ni = client.GetComponent<NetworkIdentity>();
ni.RemoveClientAuthority(ni.clientAuthorityOwner);
}
И ошибка, которую я получаю, такова