/// <summary> /// Method is an entry point that controls the operation of the algorithm (the sequence of launching other methods). /// </summary> public void Start() { // We read the settings and create the initial state of the world. // ReadUserSettingsInput(); CreateInitialState(); CreateConstraints(); GenerateNewPDDLDomains(); // We create a start node (root) based on the start state of the world. StoryNode root = new StoryNode(); root.SetWorldState(currentStoryState); root.SetActivePlayer(false); root.SetActiveAgent(currentStoryState.GetFirstAgent()); newStoryGraph.SetRoot(root); // We go through all the agents and remember their goals. storyworldConvergence.ExtractGoals(currentStoryState); // The algorithm calculates a SPECIFIC story. newStoryGraph = CreateStoryGraph(newStoryGraph.GetRoot()); // Create a visual graph. graphСonstructor.CreateGraph(newStoryGraph, @"D:\Graphviz\bin\newStoryGraph.dt"); // Create an HTML file including Twine engine and generated history. //twineGraphConstructor.ConstructGraph(newStoryGraph); //twineGraphConstructor.CreateHTMLFileWithGame(); // SaveFile(); }