using System.Collections; using System.Collections.Generic; using UnityEngine; using System.Linq; using Unity.Jobs; using Unity.Collections; // using Unity.Entities; namespace GraphProcessor { /// /// Graph processor /// public class ProcessGraphProcessor : BaseGraphProcessor { List< BaseNode > processList; /// /// Manage graph scheduling and processing /// /// Graph to be processed public ProcessGraphProcessor(BaseGraph graph) : base(graph) {} public override void UpdateComputeOrder() { processList = graph.nodes.OrderBy(n => n.computeOrder).ToList(); } /// /// Process all the nodes following the compute order. /// public override void Run() { int count = processList.Count; for (int i = 0; i < count; i++) processList[i].OnProcess(); } } }