/// <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(); } }
/// <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); }
/// <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); }
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++; } } }
/// <summary> /// Add a new DebugPacket. /// </summary> public void AddNewDebugPacket(DebugPacket newDebugPacket) { m_debugPackets.Add(newDebugPacket); }
/// <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); }
/// <summary> /// Display a debug packet /// </summary> /// <param name="packet"></param> private void MessagingOnDebugEvent(DebugPacket packet) { _logging.Trace(packet.Message); }
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; } }
/// <summary> /// Display a debug packet /// </summary> /// <param name="packet"></param> public void DisplayDebugPacket(DebugPacket packet) { _logging.Trace(packet.Message); }