Ejemplo n.º 1
0
        internal void SendClientSettings()
        {
            if (XRay.IsInvokeRequired())
            {
                XRay.RunInCoreAsync(() => SendClientSettings());
                return;
            }

            if (ServerConnection == null)
            {
                return;
            }

            var packet = new GenericPacket("Settings");

            packet.Data = new Dictionary <string, string>()
            {
                { "TargetFps", XRay.TargetFps.ToString() },
                { "TrackFunctionHits", XRay.TrackFunctionHits.ToString() },
                { "FlowTracking", XRay.FlowTracking.ToString() },
                { "InstanceTracking", XRay.InstanceTracking.ToString() },
                { "TrackRemoteProfiling", XRay.Remote.TrackRemoteProfiling.ToString() },
                { "TrackRemoteThreadlines", XRay.Remote.TrackRemoteThreadlines.ToString() }
            };

            ServerConnection.SendPacket(packet);
        }
Ejemplo n.º 2
0
        internal void OnConnected(XConnection connection)
        {
            if (XRay.IsInvokeRequired())
            {
                XRay.RunInCoreAsync(() => OnConnected(connection));
                return;
            }
            // runs when client connects to server, not the other way around (that's what OnAccept is for)
            RemoteStatus = "Requesting Dat Hash";

            connection.SendPacket(new GenericPacket("DatHashRequest"));
        }
Ejemplo n.º 3
0
        internal void IncomingPacket(XConnection connection, G2ReceivedPacket packet)
        {
            if (XRay.IsInvokeRequired())
            {
                XRay.RunInCoreAsync(() => IncomingPacket(connection, packet));
                return;
            }

            switch (packet.Root.Name)
            {
            case PacketType.Padding:
                //Log("Crypt Padding Received");
                break;

            case PacketType.Generic:

                var generic = GenericPacket.Decode(packet.Root);

                Log("Generic Packet Received: " + generic.Name);

                if (RouteGeneric.ContainsKey(generic.Name))
                {
                    RouteGeneric[generic.Name](connection, generic);
                }
                else
                {
                    Log("Unknown generic packet: " + generic.Name);
                }

                break;

            case PacketType.Dat:
                Receive_DatPacket(connection, packet);
                break;

            case PacketType.Sync:
                Receive_Sync(connection, packet);
                break;

            case PacketType.Instance:
                Receive_Instance(connection, packet);
                break;

            default:
                Log("Unknown Packet Type: " + packet.Root.Name.ToString());
                break;
            }
        }