private void ExportAttachmentClass(StreamWriter file, string btClassName, Node node) { foreach (Behaviac.Design.Attachments.Attachment attach in node.Attachments) { string nodeName = string.Format("attach{0}", attach.Id); AttachmentCppExporter attachmentExporter = AttachmentCppExporter.CreateInstance(attach); attachmentExporter.GenerateClass(attach, file, "", nodeName, btClassName); } }
private void ExportAttachment(StreamWriter file, string btClassName, string agentType, string parentName, Node node, string indent) { if (node.Attachments.Count > 0) { file.WriteLine("{0}// attachments", indent); foreach (Behaviac.Design.Attachments.Attachment attach in node.Attachments) { file.WriteLine("{0}{{", indent); string nodeName = string.Format("attach{0}", attach.Id); // export its instance and the properties AttachmentCppExporter attachmentExporter = AttachmentCppExporter.CreateInstance(attach); attachmentExporter.GenerateInstance(attach, file, indent, nodeName, agentType, btClassName); ExportPars(file, nodeName, attach, indent); file.WriteLine("{0}\t{1}->Attach({2});", indent, parentName, nodeName); file.WriteLine("{0}\t{1}->SetHasEvents({1}->HasEvents() | (Event::DynamicCast({2}) != 0));", indent, parentName, nodeName); file.WriteLine("{0}}}", indent); } } }