public DemoMessageItem(SourceParser.DemoMessage msg) { Msg = msg; BackColor = GetTypeColor(msg.Type); Text = Msg.Tick.ToString(); SubItems.Add(Msg.Type.ToString()); SubItems.Add(Msg.Data.Length.ToString()); }
private void ParseIntoTree(SourceParser.DemoMessage msg) { var node = new TreeNode($"{msg.Type}, tick {msg.Tick}, {msg.Data.Length} bytes"); node.Expand(); node.BackColor = DemoMessageItem.GetTypeColor(msg.Type); switch (msg.Type) { case SourceParser.MessageType.ConsoleCmd: node.Nodes.Add(Encoding.ASCII.GetString(msg.Data)); break; case SourceParser.MessageType.UserCmd: UserCmd.ParseIntoTreeNode(msg.Data, node); break; case SourceParser.MessageType.Signon: case SourceParser.MessageType.Packet: Packet.Parse(msg.Data, node); break; case SourceParser.MessageType.DataTables: DataTables.Parse(msg.Data, node); break; case SourceParser.MessageType.SyncTick: node.Nodes.Add("Sync client clock to demo tick"); break; case SourceParser.MessageType.StringTables: StringTable.ParsePacket(msg.Data, node); break; default: node.Nodes.Add($"Unhandled demo message type - [{msg.Data}] - [{msg.Type}] - [{msg.Tick}tick]"); break; } messageTree.Nodes.Add(node); }