private void SendCrack(Vector3 adjustedImpulse, Vector3 maxImpactPoint) { NetStream stream = identity.BeginEvent(evtCrack); NetVector3.Quantize(maxImpactPoint - base.transform.position, 100f, 16).Write(stream, 6); NetVector3.Quantize(adjustedImpulse / breakTreshold, 10f, 16).Write(stream, 6); identity.EndEvent(); }
private NetVector3 QuantizePos(Vector3 pos) { BoxCollider boxCollider = collider as BoxCollider; if (boxCollider != null) { return(NetVector3.Quantize(base.transform.InverseTransformPoint(pos) - boxCollider.center, boxCollider.size / 2f, 10)); } return(NetVector3.Quantize(pos - collider.bounds.center, collider.bounds.extents, 10)); }
public void OnCollisionEnter(Collision collision) { if (collision.contacts.Length != 0 && bag.ReportCollision(collision.impulse.magnitude, collision.contacts[0].point) && (NetGame.isServer || ReplayRecorder.isRecording)) { NetStream netStream = identity.BeginEvent(evtCollision); int x = NetFloat.Quantize(collision.impulse.magnitude, 10000f, 11); netStream.Write(x, 10); Vector3 vec = collision.contacts[0].point - base.transform.position; NetVector3.Quantize(vec, 100f, 10).Write(netStream, 3); identity.EndEvent(); } }
public void BroadcastCollisionAudio(CollisionAudioHitConfig config, AudioChannel channel, Vector3 pos, float rms, float pitch) { if (showDebug) { Debug.Log(base.name + " Broadcast Collision Audio "); } float num = AudioUtils.ValueToDB(rms) + 32f; if (num < -64f) { return; } if (identity == null) { Debug.LogErrorFormat(this, "No NetIdentity for {0}", base.name); return; } NetStream netStream = identity.BeginEvent(evtCollisionAudio); netStream.Write(config.netId, 8); if (channel == AudioChannel.Footsteps) { netStream.Write(v: true); } else { netStream.Write(v: false); if (channel == AudioChannel.Body) { netStream.Write(v: true); } else { netStream.Write(v: false); } } Vector3 vec = pos - base.transform.position; NetVector3.Quantize(vec, 100f, 10).Write(netStream, 3); netStream.Write(NetFloat.Quantize(AudioUtils.ValueToDB(rms) + 32f, 64f, 6), 6); netStream.Write(NetFloat.Quantize(AudioUtils.RatioToCents(pitch), 4800f, 8), 3, 8); identity.EndEvent(); }
private void Scroll(Vector3 scroll) { if (!NetGame.isClient && !ReplayRecorder.isPlaying) { base.transform.position += scroll; } if (player.isLocalPlayer) { CloudSystem.instance.Scroll(scroll); player.cameraController.Scroll(scroll); for (int i = 0; i < CloudBox.all.Count; i++) { CloudBox.all[i].FadeIn(1f); } } if (identity != null && (NetGame.isServer || ReplayRecorder.isRecording)) { NetStream stream = identity.BeginEvent(evtScroll); NetVector3.Quantize(scroll, 500f, 12).Write(stream); identity.EndEvent(); } }