Я так долго боролся с этим, что забыл, как писать код.
Все, что я пытаюсь сделать, - это назначить вновь порожденному клиенту случайный цвет, который реплицируется для всех клиентов на сервере (и остается согласованным).
Вот мой код:
public void FindRandomColor()
{
children = GetComponentsInChildren<Renderer>();
col = new Color(Random.Range(0.1f, 1.0f), Random.Range(0.1f, 1.0f), Random.Range(0.1f, 1.0f));
foreach (Renderer child in children)
{
child.GetComponent<Renderer>().material.color = col;
}
}
void AssignColorToClient()
{
if(isLocalPlayer)
playerSetup.FindRandomColor();
}
void Start () {
rB = GetComponent<Rigidbody>();
playerSetup = GetComponent<PlayerSetup>();
AssignColorToClient();
}
Каждому клиенту назначен цвет, но каждый клиент не может видеть назначенные ему цвета. Я возился с [ClientRPC] и [Command], но ни один из них не сработал для меня.
Любая помощь будет принята с благодарностью.