// Use this for initialization void Start() { //serverLogic.AddPlayerInfo(netId, "", null); if (isLocalPlayer) { netGM_Local = GetComponent <NetGM_Local>(); CmdInitPlayer(netId); cam_Scene = GameObject.Find("Cam_scene"); } }
void Update() { if(isServer) return; if(objNetGM_Local == null) objNetGM_Local = GameObject.Find("GM_local_main"); if(objNetGM_Local != null && netGM_Local == null) netGM_Local = objNetGM_Local.GetComponent<NetGM_Local>(); if(objNetGM_Local != null && playerControl_LocalClient == null) playerControl_LocalClient = objNetGM_Local.GetComponent<PlayerControl_LocalClient>(); if (masterClient == false && netGM_Local != null) { tick++; Count = _scrinsTransformPlayer.Count; if(netGM_Local.GetServerTime() - 0.1f > (timer + 0.1f)) flagJourney = true; /* if(Count>0) if(_scrinsTransformPlayer[0].time > timer + 0.19f && _scrinsTransformPlayer[0].time < timer+0.11f) flagJourney = true; */ // Эстраполяция if (flagJourney == true && extr == 0) { endPosition = (endPosition - startMarker_Position) + endPosition; startMarker_Position = transform.position; numScr++; if (!localPlayer) { endRotation = Quaternion.Slerp(startMarker_Rotation, endRotation, 2); startMarker_Rotation = transform.rotation; } tickDel++; startTime = Time.time; extr = 1; flagJourney = false; } if (_scrinsTransformPlayer.Count > 0) { if (netGM_Local.GetServerTime() - 0.1f >= _scrinsTransformPlayer[0].time) { startMarker_Position = transform.position; endPosition = _scrinsTransformPlayer[0].position; if(!localPlayer) { startMarker_Rotation = transform.rotation; endRotation = _scrinsTransformPlayer[0].rotation; } startTime = Time.time; numScr = _scrinsTransformPlayer[0].number; timer = _scrinsTransformPlayer[0].time; _scrinsTransformPlayer.RemoveAt(0); extr = 0; } } prec = ((Time.time) - startTime) / (0.05f - restOfTime); /* if(prec > 1.2 && extr == 0) { extr = 1; numScr++; tickDel++; } /* if (true) { if (prec > 1) { restOfTime = (Time.time - startTime) - (0.05f - restOfTime); restOfTime = 0; //prec = 1; } else { restOfTime = 0; } } */ if (!localPlayer) { transform.position = Vector3.Lerp(startMarker_Position, endPosition, prec); transform.rotation = Quaternion.Slerp(startMarker_Rotation, endRotation, prec); } else if (playerControl_LocalClient.moveV == false && playerControl_LocalClient.moveH == false) { transform.position = Vector3.Lerp(startMarker_Position, endPosition, prec); } } }
public void SetObjGM(GameObject obj) { objNetGM_Local = obj; netGM_Local = obj.GetComponent<NetGM_Local>(); }