Example #1
0
        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));
        }
Example #2
0
        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);
        }
Example #3
0
 internal abstract bool EnqueueOperation(Dictionary <byte, object> parameters, byte opCode, SendOptions sendParams, EgMessageType messageType = EgMessageType.Operation);
Example #4
0
 internal abstract StreamBuffer SerializeOperationToMessage(byte opCode, Dictionary <byte, object> parameters, EgMessageType messageType, bool encrypt);
Example #5
0
 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
Example #6
0
 internal override bool SendAcksOnly() => default;                                                                                                                  // 0x0000000180A90180-0x0000000180A90230
 internal override bool EnqueueOperation(Dictionary <byte, object> parameters, byte opCode, SendOptions sendParams, EgMessageType messageType) => default;          // 0x0000000180A8F410-0x0000000180A8F830
Example #7
0
 internal abstract bool EnqueueOperation(Dictionary <byte, object> parameters, byte opCode, bool sendReliable, byte channelId, bool encrypted, EgMessageType messageType);
Example #8
0
        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());
        }
Example #9
0
 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