TransportGraphView.cs 1.1 KB

12345678910111213141516171819202122232425262728
  1. using UnityEngine.UIElements;
  2. namespace Unity.WebRTC.Editor
  3. {
  4. internal class TransportGraphView
  5. {
  6. private GraphView bytesSentGraph = new GraphView("bytesSent");
  7. private GraphView bytesReceivedGraph = new GraphView("bytesReceived");
  8. private GraphView selectedCandidatePairChangesGraph = new GraphView("selectedCandidatePairChanges");
  9. public void AddInput(RTCTransportStats input)
  10. {
  11. var timestamp = input.UtcTimeStamp;
  12. bytesSentGraph.AddInput(timestamp, input.bytesSent);
  13. bytesReceivedGraph.AddInput(timestamp, input.bytesReceived);
  14. selectedCandidatePairChangesGraph.AddInput(timestamp, input.selectedCandidatePairChanges);
  15. }
  16. public VisualElement Create()
  17. {
  18. var container = new VisualElement {style = {flexDirection = FlexDirection.Row, flexWrap = Wrap.Wrap}};
  19. container.Add(bytesSentGraph.Create());
  20. container.Add(bytesReceivedGraph.Create());
  21. container.Add(selectedCandidatePairChangesGraph.Create());
  22. return container;
  23. }
  24. }
  25. }