Я делаю многопользовательскую игру и хочу, чтобы игрок взаимодействовал с неигровым объектом (трансформация которого может быть изменена любым игроком).Когда я взаимодействую их с игроком, который присоединился первым (или с парнем, который размещает), он работает, но если я пытаюсь взаимодействовать с другим игроком (тем, кто присоединился ко второму), объекты возвращаются в то место, которое покинул первый игрокего в.
Так что я попытался сместить полномочия неигрового объекта, но у меня возникают следующие ошибки.Кто-нибудь сталкивается с той же проблемой или знает какой-либо другой способ решения вышеуказанной задачи?Я использую следующий код для изменения полномочий:
[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);
}
И ошибка, которую я получаю, это