В целом все работает хорошо, видно как передвигается персонаж первого зашедшего в комнату игрока. Проблема в том, что двигатся может только 1 игрок, 2 игрок просто стоит и смотрит (ни на какие кнопки не реагирует) хотя они 100% нажимаются в скрипте.
private void FixedUpdate()
{
if (m_scrPlayer.m_inCurrentId > m_inMoveTo)
{
if (Buttons1[m_scrPlayer.m_inCurrentId].transform.position.x == m_scrPlayer.transform.position.x && Buttons1[m_scrPlayer.m_inCurrentId].transform.position.z == m_scrPlayer.transform.position.z)
{
if (m_scrPlayer.m_inCurrentId == Buttons1.Count - 1)
{
m_scrPlayer.m_inCurrentId = 0;
}
else m_scrPlayer.m_inCurrentId++;
}
}
else
{
if (m_scrPlayer.m_inCurrentId != m_inMoveTo)
{
if (Buttons1[m_scrPlayer.m_inCurrentId].transform.position.x == m_scrPlayer.transform.position.x && Buttons1[m_scrPlayer.m_inCurrentId].transform.position.z == m_scrPlayer.transform.position.z)
{
m_scrPlayer.m_inCurrentId++;
Debug.Log("OK");
}
}
}
if (Buttons1[m_scrPlayer.m_inCurrentId] is ShopScr s && b == 0 && m_scrPlayer.m_obtained[m_scrPlayer.m_inCurrentId] == false)
{
if (s.m_blIsEnpty == false && m_inMoveTo == m_scrPlayer.m_inCurrentId)
{
_m_currentMoney = _m_currentMoney - s.m_intCost;
Debug.Log(b);
b = 1;
}
}
var t = Buttons1[m_scrPlayer.m_inCurrentId].transform.position;
if (m_view.IsMine)
{
m_scrPlayer.transform.position = Vector3.MoveTowards(m_scrPlayer.transform.position, new Vector3(t.x, m_scrPlayer.transform.position.y, t.z), m_scrPlayer.m_flSpeed / 10);
}
if (m_scrPlayer.m_inCurrentId != m_inMoveTo)
{
m_btBuyStreet.interactable = false;
m_btNextStep.interactable = false;
}
else
{
m_btBuyStreet.interactable = true;
m_btNextStep.interactable = true;
}
}
Ссылка на видео с проблемой
https://youtu.be/JiOHlPuDtCc