Exemplo n.º 1
0
        /// <summary>
        /// Executes the operations in the DebugPacket specified.
        /// </summary>
        /// <param name="debugPacket"></param>
        private void ExecuteOperationsInDebugPacket(DebugPacket debugPacket)
        {
            if (debugPacket != null)
            {
                if (debugPacket.DebugBreak)
                {
                    Debug.Break();
                }

                if (debugPacket.Message != "")
                {
                    string message = "[Graphy] (" + System.DateTime.Now + "): " + debugPacket.Message;

                    switch (debugPacket.MessageType)
                    {
                    case MessageType.Log:
                        Debug.Log(message);
                        break;

                    case MessageType.Warning:
                        Debug.LogWarning(message);
                        break;

                    case MessageType.Error:
                        Debug.LogError(message);
                        break;
                    }
                }

                if (debugPacket.TakeScreenshot)
                {
                    string path = debugPacket.ScreenshotFileName + "_" + System.DateTime.Now + ".png";
                    path = path.Replace("/", "-").Replace(" ", "_").Replace(":", "-");

#if UNITY_2017_1_OR_NEWER
                    ScreenCapture.CaptureScreenshot(path);
#else
                    Application.CaptureScreenshot(path);
#endif
                }

                debugPacket.UnityEvents.Invoke();

                foreach (var callback in debugPacket.Callbacks)
                {
                    if (callback != null)
                    {
                        callback();
                    }
                }

                debugPacket.Executed();
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Add a new DebugPacket.
        /// </summary>
        public void AddNewDebugPacket
        (
            int newId,
            List <DebugCondition> newDebugConditions,
            MessageType newMessageType,
            string newMessage,
            bool newDebugBreak,
            List <Action> newCallbacks
        )
        {
            DebugPacket newDebugPacket = new DebugPacket();

            newDebugPacket.Id = newId;
            newDebugPacket.DebugConditions = newDebugConditions;
            newDebugPacket.MessageType     = newMessageType;
            newDebugPacket.Message         = newMessage;
            newDebugPacket.DebugBreak      = newDebugBreak;
            newDebugPacket.Callbacks       = newCallbacks;

            AddNewDebugPacket(newDebugPacket);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Add a new DebugPacket.
        /// </summary>
        public void AddNewDebugPacket
        (
            int newId,
            DebugCondition newDebugCondition,
            MessageType newMessageType,
            string newMessage,
            bool newDebugBreak,
            Action newCallback
        )
        {
            DebugPacket newDebugPacket = new DebugPacket();

            newDebugPacket.Id = newId;
            newDebugPacket.DebugConditions.Add(newDebugCondition);
            newDebugPacket.MessageType = newMessageType;
            newDebugPacket.Message     = newMessage;
            newDebugPacket.DebugBreak  = newDebugBreak;
            newDebugPacket.Callbacks.Add(newCallback);

            AddNewDebugPacket(newDebugPacket);
        }
Exemplo n.º 4
0
            public void CopyFrom(DebugPacket _packet)
            {
                module_count = _packet.module_count;

                for (int i = 0; i < module_count; i++)
                {
                    DebugModule cur_module        = null;
                    int         cur_module_serial = _packet.modules[i].serial;

                    foreach (DebugModule module in modules)
                    {
                        if (module.serial == cur_module_serial)
                        {
                            cur_module = module;
                            break;
                        }
                    }

                    if (cur_module == null)
                    {
                        cur_module = new DebugModule
                        {
                            serial = cur_module_serial
                        };
                        modules.Add(cur_module);
                    }

                    cur_module.sensors_active = _packet.modules[i].sensors_active;

                    for (int s = 0; s < 6; s++)
                    {
                        DebugSensor cur_sensor    = null;
                        int         cur_sensor_id = _packet.modules[i].sensors[s].id;

                        foreach (var sensor in cur_module.sensors)
                        {
                            if (sensor.id == cur_sensor_id)
                            {
                                cur_sensor = sensor;
                                break;
                            }
                        }

                        if (cur_sensor == null)
                        {
                            cur_sensor = new DebugSensor
                            {
                                id = cur_sensor_id
                            };
                            cur_module.sensors.Add(cur_sensor);
                        }

                        cur_sensor.active = _packet.modules[i].sensors[s].active;

                        if (cur_sensor.active)
                        {
                            cur_sensor.acc_x       = _packet.modules[i].sensors[s].acc_x;
                            cur_sensor.acc_y       = _packet.modules[i].sensors[s].acc_y;
                            cur_sensor.acc_z       = _packet.modules[i].sensors[s].acc_z;
                            cur_sensor.gyro_x      = _packet.modules[i].sensors[s].gyro_x;
                            cur_sensor.gyro_y      = _packet.modules[i].sensors[s].gyro_y;
                            cur_sensor.gyro_z      = _packet.modules[i].sensors[s].gyro_z;
                            cur_sensor.mag_x       = _packet.modules[i].sensors[s].mag_x;
                            cur_sensor.mag_y       = _packet.modules[i].sensors[s].mag_y;
                            cur_sensor.mag_z       = _packet.modules[i].sensors[s].mag_z;
                            cur_sensor.mag_terra_x = _packet.modules[i].sensors[s].mag_terra_x;
                            cur_sensor.mag_terra_y = _packet.modules[i].sensors[s].mag_terra_y;
                            cur_sensor.mag_terra_z = _packet.modules[i].sensors[s].mag_terra_z;
                            cur_sensor.mag_coil_x  = _packet.modules[i].sensors[s].mag_coil_x;
                            cur_sensor.mag_coil_y  = _packet.modules[i].sensors[s].mag_coil_y;
                            cur_sensor.mag_coil_z  = _packet.modules[i].sensors[s].mag_coil_z;
                        }
                    }
                }
                initialized = true;
            }
        public void MessageHandler_SendsCorrectPackets_ToCorrectRoutes()
        {
            //Allow proper decoding of orders.
            JsonConvert.DefaultSettings = () => new JsonSerializerSettings
            {
                Converters = { new OrderJsonConverter() }
            };

            // Create list of packets to test
            var debug      = new DebugPacket();
            var log        = new LogPacket();
            var backtest   = new BacktestResultPacket();
            var handled    = new HandledErrorPacket();
            var error      = new RuntimeErrorPacket();
            var packetList = new List <Packet>
            {
                log,
                debug,
                backtest,
                handled,
                error
            };

            using (var pullSocket = new PullSocket(">tcp://localhost:" + _port))
            {
                var count = 0;
                while (count < packetList.Count)
                {
                    _messageHandler.Send(packetList[count]);

                    var message = pullSocket.ReceiveMultipartMessage();

                    var payload = message[0].ConvertToString();
                    var packet  = JsonConvert.DeserializeObject <Packet>(payload);

                    Assert.IsTrue(message.FrameCount == 1);

                    if (PacketType.Debug == packet.Type)
                    {
                        Assert.IsTrue(payload == JsonConvert.SerializeObject(debug));
                    }

                    if (PacketType.HandledError == packet.Type)
                    {
                        Assert.IsTrue(payload == JsonConvert.SerializeObject(handled));
                    }

                    if (PacketType.BacktestResult == packet.Type)
                    {
                        Assert.IsTrue(payload == JsonConvert.SerializeObject(backtest));
                    }

                    if (PacketType.RuntimeError == packet.Type)
                    {
                        Assert.IsTrue(payload == JsonConvert.SerializeObject(error));
                    }

                    if (PacketType.Log == packet.Type)
                    {
                        Assert.IsTrue(payload == JsonConvert.SerializeObject(log));
                    }

                    count++;
                }
            }
        }
Exemplo n.º 6
0
 /// <summary>
 /// Add a new DebugPacket.
 /// </summary>
 public void AddNewDebugPacket(DebugPacket newDebugPacket)
 {
     m_debugPackets.Add(newDebugPacket);
 }
Exemplo n.º 7
0
        /// <summary>
        /// Checks all the Debug Packets to see if they have to be executed.
        /// </summary>
        private void CheckDebugPackets()
        {
            if (m_debugPackets == null)
            {
                return;
            }

            for (var i = 0; i < m_debugPackets.Count; i++)
            {
                DebugPacket packet = m_debugPackets[i];

                if (packet != null && packet.Active)
                {
                    packet.Update();

                    if (packet.Check)
                    {
                        switch (packet.ConditionEvaluation)
                        {
                        case ConditionEvaluation.All_conditions_must_be_met:
                            int count = 0;

                            foreach (var packetDebugCondition in packet.DebugConditions)
                            {
                                if (CheckIfConditionIsMet(packetDebugCondition))
                                {
                                    count++;
                                }
                            }

                            if (count >= packet.DebugConditions.Count)
                            {
                                ExecuteOperationsInDebugPacket(packet);

                                if (packet.ExecuteOnce)
                                {
                                    m_debugPackets[i] = null;
                                }
                            }

                            break;

                        case ConditionEvaluation.Only_one_condition_has_to_be_met:
                            foreach (var packetDebugCondition in packet.DebugConditions)
                            {
                                if (CheckIfConditionIsMet(packetDebugCondition))
                                {
                                    ExecuteOperationsInDebugPacket(packet);

                                    if (packet.ExecuteOnce)
                                    {
                                        m_debugPackets[i] = null;
                                    }

                                    break;
                                }
                            }

                            break;
                        }
                    }
                }
            }

            m_debugPackets.RemoveAll((packet) => packet == null);
        }
Exemplo n.º 8
0
 /// <summary>
 /// Display a debug packet
 /// </summary>
 /// <param name="packet"></param>
 private void MessagingOnDebugEvent(DebugPacket packet)
 {
     _logging.Trace(packet.Message);
 }
Exemplo n.º 9
0
        public static void Manager(Packet packet)
        {
            switch (packet.Opcode)
            {
                #region Login Related
            //Session
            case 0x2001:     //Identify
                _0x2001.DoWork(packet, true);
                break;

            case 0xA100:     //Check Version
                _0xA100.DoWork(packet, true);
                break;

            case 0xA106:     //AcceptVersion
                _0xA106.DoWork(packet, true);
                break;

            //Login
            case 0xA101:     //SERVER_LIST
                _0xA101.Dowork(packet, true);
                break;

            case 0x2322:     //SERVER_SEND_PACKET_CAPTCHA
                _0x2322.DoWork(packet, true);
                break;

            case 0xA102:     //Login Replay
                _0xA102.DoWork(packet, true);
                break;

            case 0xA103:    // SERVER_AGENT_LOGIN_RESPONSE
                _0xA103.DoWork(packet, true);
                break;

            case 0xB007:    //CLIENT_AGENT_CHARACTER_SELECTION_REQUEST
                _0xB007.DoWork(packet, true);
                break;

                #endregion
                #region Character
            case 0x3013:    //SERVER_AGENT_CHARACTER_DATA
                _0x3013.DoWork(packet);
                break;

            case 0x3020:    //ConfirmCharacterSpawn
                _0x3020.DoWork(packet, true);
                break;

            case 0x303D:    //Character Info
                _0x303D.DoWork(packet);
                break;

            case 0x3054:    //Character Level Up
                _0x3054.DoWork(packet);
                break;

            //case 0x3056://Character Exp Sp Level Up
            //    _0x3056.DoWork(packet);
            //    break;
            case 0x3057:    //Character HP MP Update
                _0x3057.DoWork(packet);
                break;

            //case 0x30D0://Character Speed Update
            //    _0x30D0.DoWork(packet);
            //    break;
            case 0xB021:    //Character Move
                _0xB021.DoWork(packet);
                break;

                //case 0xB050://Character Increase str
                //    _0xB050.DoWork(packet);
                //    break;
                //case 0xB051://Character Increase Int
                //    _0xB051.DoWork(packet);
                //    break;
                //case 0xB0A1://Character Skill Update
                //    _0xB0A1.DoWork(packet);
                //    break;
                #endregion
                #region InGameRelated
            //AbilitiesAndFighting
            case 0xB070:    // Skill Add
                _0xB070.DoWork(packet);
                break;

            case 0xB071:    // Skill Casted
                _0xB071.DoWork(packet);
                break;

            case 0xB072:    // Buff Dell
                _0xB072.DoWork(packet);
                break;

            case 0xB0BD:    // Buff Info
                _0xB0BD.DoWork(packet);
                break;

            //Environment
            case 0x3015:    // Single Spawn
                _0x3015.DoWork(packet);
                break;

            case 0x3016:    // Single Spawn
                _0x3016.DoWork(packet);
                break;

            case 0x3017:    // Single Spawn
                _0x3017.DoWork(packet);
                break;

            case 0x3018:    // Single Spawn
                //_0x3018.DoWork(packet);
                break;

            case 0x3019:    // Single Spawn
                _0x3019.DoWork(packet);
                break;

            case 0x30BF:    // Single Spawn
                _0x30BF.DoWork(packet);
                break;

                //Related
                //case 0x304E:// StuffUpdate
                //    _0x304E.DoWork(packet);
                //    break;
                //case 0x30D2:// Bad Effect
                //    _0x30D2.DoWork(packet);
                //    break;
                //case 0xB023:// Stuct
                //    _0xB023.DoWork(packet);
                //    break;
                #endregion
                #region Interaction
            case 0xB045:    // Object Action
                _0xB045.DoWork(packet);
                break;

            //case 0xB046:// NPC Select
            //    _0xB046.DoWork(packet);
            //    break;
            //case 0xB04B:// NPC Deselect
            //    _0xB04B.DoWork(packet);
            //    break;
            case 0xB074:    // Object Action
                _0xB074.DoWork(packet);
                break;
                #endregion
                #region PetAndVehicle
                //case 0x30C8:// Pet Info
                //    _0x30C8.DoWork(packet);
                //    break;
                //case 0x30C9:// Pet Stats
                //    _0x30C9.DoWork(packet);
                //    break;
                //case 0xB0CB:// Horse Action
                //    _0xB0CB.DoWork(packet);
                //    break;
                #endregion
            }

            switch (packet.Opcode)
            {
            case 0x3013:    //SERVER_AGENT_CHARACTER_DATA
                DebugPacket.SavePacketToFile(packet);
                break;

            case 0x3020:    //ConfirmCharacterSpawn
                DebugPacket.SavePacketToFile(packet);
                break;
            }
        }
Exemplo n.º 10
0
 /// <summary>
 /// Display a debug packet
 /// </summary>
 /// <param name="packet"></param>
 public void DisplayDebugPacket(DebugPacket packet)
 {
     _logging.Trace(packet.Message);
 }