private void OnOtherUserJoined(SocketIOEvent evt) { bool isSimulated = true; Debug.Log("Create other car"); CarCharacter car = CreateCar(evt, isSimulated, CarPrefab); //car.Rb.isKinematic = true; //car.Rb.useGravity = false; cars.Add(car); }
private CarCharacter CreateCar(SocketIOEvent evt, bool isSimulated, GameObject CarPrefab) { GameObject go = Instantiate(CarPrefab); CarCharacter car = go.GetComponent <CarCharacter> (); string id = ""; JSONObject obj = evt.data.GetField("id"); if (obj) { id = Utility.JsonToString(obj.ToString(), "\""); } car.id = id; car.IsSimulated = isSimulated; return(car); }
private void OnMove(SocketIOEvent evt) { float elapsedTime = Utility.JsonToFloat(evt.data.GetField("elapsedTime").ToString(), "\""); string id = Utility.JsonToString(evt.data.GetField("id").ToString(), "\""); CarCharacter car = FindCarByID(id); if (elapsedTime < car.latestElapsedTime) { return; } Vector3 transform = Utility.StringToVecter3(Utility.JsonToString(evt.data.GetField("transform").ToString(), "\"")); car.latestElapsedTime = elapsedTime; car.simulatedEndPos = new Vector3(transform.x, 0f, transform.y); car.simulatedBodyEndRot = Quaternion.Euler(new Vector3(0f, transform.z, 0f)); // body only yaw }