Invert.uFrame.ECS.PropertyChangedNode.WriteEventSubscription C# (CSharp) Method

WriteEventSubscription() public method

public WriteEventSubscription ( TemplateContext ctx, CodeMemberMethod filterMethod, CodeMemberMethod handlerMethod ) : void
ctx TemplateContext
filterMethod CodeMemberMethod
handlerMethod CodeMemberMethod
return void
        public override void WriteEventSubscription(TemplateContext ctx, CodeMemberMethod filterMethod, CodeMemberMethod handlerMethod)
        {
            //base.WriteEventSubscription(ctx, filterMethod, handlerMethod);
            var relatedTypeProperty = SourceProperty.Source;
	        filterMethod.Parameters.Add(new CodeParameterDeclarationExpression(string.Format("PropertyChangedEvent<{0}>",relatedTypeProperty.MemberType.FullName), "value"));
            handlerMethod.Parameters.Add(new CodeParameterDeclarationExpression(string.Format("PropertyChangedEvent<{0}>", relatedTypeProperty.MemberType.FullName), "value"));
            if (Immediate)
            {
                ctx._("this.PropertyChangedEvent<{0},{1}>(Group=>{2}Observable, {3}, Group=>{2}, {4})", 
                    EventType, relatedTypeProperty.MemberType.FullName, SourceProperty.Name, filterMethod.Name, OnlyWhenChanged ? "true" : "false");
            }
            else
            {
                ctx._("this.PropertyChangedEvent<{0},{1}>(Group=>{2}Observable, {3}, null, {4})", EventType, relatedTypeProperty.MemberType.FullName, SourceProperty.Name, filterMethod.Name, OnlyWhenChanged ? "true" : "false");
            }
            
        }