diff --git a/ProjectObsidian.SourceGenerators/BindingGenerator.cs b/ProjectObsidian.SourceGenerators/BindingGenerator.cs index 7280155..7bf8ccf 100644 --- a/ProjectObsidian.SourceGenerators/BindingGenerator.cs +++ b/ProjectObsidian.SourceGenerators/BindingGenerator.cs @@ -228,8 +228,15 @@ public override void VisitFieldDeclaration(FieldDeclarationSyntax node) TypedFieldDetection(type, name, "ValueOutput", "global::FrooxEngine.ProtoFlux.NodeValueOutput<{1}>", _outputCount); //impulses - if (!UntypedFieldDetection(type, name, "AsyncCall", "global::FrooxEngine.SyncRef", _impulseCount)) + if (type == "AsyncCall") + { + UntypedFieldDetection(type, name, "AsyncCall", "global::FrooxEngine.SyncRef", _impulseCount); + } + else if (type == "Call") + { UntypedFieldDetection(type, name, "Call", "global::FrooxEngine.SyncRef", _impulseCount); + } + UntypedFieldDetection(type, name, "Continuation", "global::FrooxEngine.SyncRef", _impulseCount); UntypedFieldDetection(type, name, "AsyncResumption", "global::FrooxEngine.SyncRef", _impulseCount); @@ -257,6 +264,13 @@ public override void VisitFieldDeclaration(FieldDeclarationSyntax node) UntypedFieldDetection(type, name, "AsyncOperationList", "global::FrooxEngine.SyncList", _operationListCount); UntypedFieldDetection(type, name, "SyncOperationList", "global::FrooxEngine.SyncList", _operationListCount); + + //call lists + if (type == "CallList") + UntypedFieldDetection(type, name, "CallList", "global::FrooxEngine.SyncRefList", _impulseListCount); + else + UntypedFieldDetection(type, name, "AsyncCallList", "global::FrooxEngine.SyncRefList", _impulseListCount); + base.VisitFieldDeclaration(node); } public override void VisitPropertyDeclaration(PropertyDeclarationSyntax node)