internal override bool EnqueueOperation(Dictionary <byte, object> parameters, byte opCode, SendOptions sendParams, EgMessageType messageType) { if (base.peerConnectionState != ConnectionStateValue.Connected) { if ((int)base.debugOut >= 1) { base.Listener.DebugReturn(DebugLevel.ERROR, "Cannot send op: " + opCode + "! Not connected. PeerState: " + base.peerConnectionState); } base.Listener.OnStatusChanged(StatusCode.SendError); return(false); } if (sendParams.Channel >= base.ChannelCount) { if ((int)base.debugOut >= 1) { base.Listener.DebugReturn(DebugLevel.ERROR, "Cannot send op: Selected channel (" + sendParams.Channel + ")>= channelCount (" + base.ChannelCount + ")."); } base.Listener.OnStatusChanged(StatusCode.SendError); return(false); } StreamBuffer opMessage = this.SerializeOperationToMessage(opCode, parameters, messageType, sendParams.Encrypt); return(this.EnqueueMessageAsPayload(sendParams.DeliveryMode, opMessage, sendParams.Channel)); }
internal override StreamBuffer SerializeOperationToMessage(byte opCode, Dictionary <byte, object> parameters, EgMessageType messageType, bool encrypt) { StreamBuffer streamBuffer = PeerBase.MessageBufferPoolGet(); streamBuffer.SetLength(0L); if (!encrypt) { streamBuffer.Write(this.messageHeader, 0, this.messageHeader.Length); } base.SerializationProtocol.SerializeOperationRequest(streamBuffer, opCode, parameters, false); if (encrypt) { byte[] array = base.CryptoProvider.Encrypt(streamBuffer.GetBuffer(), 0, streamBuffer.IntLength); streamBuffer.SetLength(0L); streamBuffer.Write(this.messageHeader, 0, this.messageHeader.Length); streamBuffer.Write(array, 0, array.Length); } byte[] buffer = streamBuffer.GetBuffer(); if (messageType != EgMessageType.Operation) { buffer[this.messageHeader.Length - 1] = (byte)messageType; } if (encrypt) { buffer[this.messageHeader.Length - 1] = (byte)(buffer[this.messageHeader.Length - 1] | 0x80); } if (this.DoFraming) { int num = 1; Protocol.Serialize(streamBuffer.IntLength, buffer, ref num); } return(streamBuffer); }
internal abstract bool EnqueueOperation(Dictionary <byte, object> parameters, byte opCode, SendOptions sendParams, EgMessageType messageType = EgMessageType.Operation);
internal abstract StreamBuffer SerializeOperationToMessage(byte opCode, Dictionary <byte, object> parameters, EgMessageType messageType, bool encrypt);
internal override bool EnqueueMessage(object msg, SendOptions sendOptions) => default; // 0x0000000180A8F050-0x0000000180A8F410 internal override StreamBuffer SerializeOperationToMessage(byte opCode, Dictionary <byte, object> parameters, EgMessageType messageType, bool encrypt) => default; // 0x0000000180A908B0-0x0000000180A90B60
internal override bool SendAcksOnly() => default; // 0x0000000180A90180-0x0000000180A90230 internal override bool EnqueueOperation(Dictionary <byte, object> parameters, byte opCode, SendOptions sendParams, EgMessageType messageType) => default; // 0x0000000180A8F410-0x0000000180A8F830
internal abstract bool EnqueueOperation(Dictionary <byte, object> parameters, byte opCode, bool sendReliable, byte channelId, bool encrypted, EgMessageType messageType);
private static IntPtr patch_method(IntPtr __self, IntPtr parameters, byte opCode, SendOptions sendParams, EgMessageType messageType = EgMessageType.Operation) { /* * if (UnityEngine.Input.GetKey(UnityEngine.KeyCode.P)) * { * VRC.UI.PageWorldInfo pageWorldInfo = UnityEngine.Object.FindObjectsOfType<VRC.UI.PageWorldInfo>()[0]; * Console.WriteLine(pageWorldInfo.apiWorld.id); * } */ /* * Console.WriteLine("------------------------------"); * Console.WriteLine("opCode: " + opCode.ToString()); * Console.WriteLine("sendParams [channel]: " + sendParams.Channel.ToString()); * Console.WriteLine("sendParams [DeliveryMode]: " + sendParams.DeliveryMode.ToString()); * Console.WriteLine("sendParams [Encrypt]: " + sendParams.Encrypt.ToString()); * Console.WriteLine("messageType: " + messageType.ToString()); */ if (BlazeManager.GetForPlayer <bool>("Photon Serilize")) { if (sendParams.DeliveryMode == DeliveryMode.UnreliableUnsequenced && sendParams.Channel != 1) { return(true.Cast()); } } return((pPhotonPeer.InvokeOriginal(__self, new IntPtr[] { parameters, new IntPtr(opCode), sendParams.Cast(), new IntPtr((int)messageType) }) != null).Cast()); }
private bool AreReliableCommandsInTransit() => default; // 0x00000001806B03C0-0x00000001806B0520 internal override bool EnqueueOperation(Dictionary <byte, object> parameters, byte opCode, SendOptions sendParams, EgMessageType messageType = EgMessageType.Operation /* Metadata: 0x0064D574 */) => default; // 0x00000001806B1F60-0x00000001806B23A0