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 abstract class BaseGraphProcessor
	{
		protected BaseGraph			graph;
		
		/// 
		/// Manage graph scheduling and processing
		/// 
		/// Graph to be processed
		public BaseGraphProcessor(BaseGraph graph)
		{
			this.graph = graph;
			UpdateComputeOrder();
		}
		public abstract void UpdateComputeOrder();
		/// 
		/// Schedule the graph into the job system
		/// 
		public abstract void Run();
	}
}