public override Behaviac.Design.FileManagers.SaveResult Export(List <BehaviorNode> behaviors, bool exportUnifiedFile, bool generateCustomizedTypes) { string behaviorFilename = "behaviors/generated_behaviors.cs"; string agentFolder = string.Empty; Behaviac.Design.FileManagers.SaveResult result = VerifyFilename(ref behaviorFilename, ref agentFolder); if (Behaviac.Design.FileManagers.SaveResult.Succeeded == result) { string behaviorFolder = Path.GetDirectoryName(behaviorFilename); clearFolder(behaviorFolder); //clearFolder(agentFolder); ExportBehaviors(behaviors, behaviorFilename, exportUnifiedFile); ExportCustomizedMembers(agentFolder); if (generateCustomizedTypes) { ExportAgents(agentFolder); ExportCustomizedTypes(agentFolder); } } return(result); }
private void ExportBehaviors(List <BehaviorNode> behaviors, string filename, bool exportUnifiedFile) { using (StreamWriter file = new StreamWriter(filename)) { ExportHead(file, filename); ExportMemberDeclaration(file); if (exportUnifiedFile) { foreach (BehaviorNode behavior in behaviors) { ExportBody(file, behavior); } } else { foreach (BehaviorNode behavior in behaviors) { string behaviorFilename = behavior.RelativePath; behaviorFilename = behaviorFilename.Replace("\\", "/"); behaviorFilename = Path.ChangeExtension(behaviorFilename, "cs"); behaviorFilename = Path.Combine("behaviors", behaviorFilename); string agentFolder = string.Empty; Behaviac.Design.FileManagers.SaveResult result = VerifyFilename(ref behaviorFilename, ref agentFolder); if (Behaviac.Design.FileManagers.SaveResult.Succeeded == result) { using (StreamWriter behaviorFile = new StreamWriter(behaviorFilename)) { ExportHead(behaviorFile, behaviorFilename); ExportBody(behaviorFile, behavior); ExportTail(behaviorFile); behaviorFile.Close(); } } } } ExportTail(file); file.Close(); } }
public override Behaviac.Design.FileManagers.SaveResult Export(List <BehaviorNode> behaviors) { string filename = string.Empty; Behaviac.Design.FileManagers.SaveResult result = VerifyFilename(out filename); if (Behaviac.Design.FileManagers.SaveResult.Succeeded == result) { using (StreamWriter file = new StreamWriter(filename)) { ExportBehaviors(file, behaviors, filename); file.Close(); } } return(result); }
public override Behaviac.Design.FileManagers.SaveResult Export() { string filename = string.Empty; Behaviac.Design.FileManagers.SaveResult result = VerifyFilename(out filename); if (Behaviac.Design.FileManagers.SaveResult.Succeeded == result) { // export to the file using (StreamWriter file = new StreamWriter(filename)) { ExportBehavior(file, _node, filename); file.Close(); } } return(result); }
private Behaviac.Design.FileManagers.SaveResult VerifyFilename(ref string behaviorFilename, ref string agentFolder) { behaviorFilename = Path.Combine(_outputFolder, behaviorFilename); agentFolder = Path.Combine(_outputFolder, "types"); // get the abolute folder of the file we want to export string folder = Path.GetDirectoryName(behaviorFilename); if (!Directory.Exists(folder)) { Directory.CreateDirectory(folder); } if (!Directory.Exists(agentFolder)) { Directory.CreateDirectory(agentFolder); } // verify it can be writable Behaviac.Design.FileManagers.SaveResult result = Behaviac.Design.FileManagers.FileManager.MakeWritable(behaviorFilename, Resources.ExportFileWarning); return(result); }