internal static void ValidateCurrentGraph(bool force = false) { var shouldRun = k_Cooldown.Update(DateTime.Now); if (!force && !shouldRun) { return; } foreach (var recorder in Current.RecordersBySystem.Values) { recorder.Update(); } var graph = new PlayerLoopSystemGraph(); ParsePlayerLoopSystem(PlayerLoop.GetCurrentPlayerLoop(), graph); if (!DidChange(Current, graph)) { graph.Reset(); return; } Current.Reset(); Current = graph; OnGraphChanged?.Invoke(); }
static void ValidateCurrentGraph() { var now = DateTime.Now; if (now - s_LastValidate < s_OneSecond) { return; } s_LastValidate = now; var graph = new PlayerLoopSystemGraph(); ParsePlayerLoopSystem(PlayerLoop.GetCurrentPlayerLoop(), graph); if (!DidChange(Current, graph)) { graph.Reset(); return; } Current.Reset(); Current = graph; OnGraphChanged?.Invoke(); }
// Parse through the player loop system to get all system list and their parent-children relationship, // which will be used to build the treeview. public static void ParsePlayerLoopSystem(PlayerLoopSystem rootPlayerLoopSystem, PlayerLoopSystemGraph graph) { graph.Reset(); Parse(rootPlayerLoopSystem, graph); }