using UnityEngine;
namespace AutoGroupGenerator
{
///
/// Command queue that loads a serialized dependency graph from disk.
///
internal class LoadDependencyGraphCommandQueue : CommandQueue
{
#region Fields
private readonly DataContainer m_DataContainer;
#endregion
#region Methods
public LoadDependencyGraphCommandQueue(DataContainer dataContainer)
{
m_DataContainer = dataContainer;
Title = nameof(DependencyGraphCommandQueue);
}
public override void PreExecute()
{
ClearQueue();
m_DataContainer.DependencyGraph = new DependencyGraph();
AddCommand(LoadDependencyGraph, "Load DependencyGraph");
}
private void LoadDependencyGraph()
{
var stringData = FileUtils.LoadFromFile(Constants.FilePaths.DependencyGraphFilePath);
var serializedData = JsonUtility.FromJson(stringData);
m_DataContainer.DependencyGraph = DependencyGraph.Deserialize(serializedData);
}
#endregion
}
}