public override string OnCompilerTransitionAttachedGeneration(FlowWindow windowFrom, FlowWindow windowTo, bool everyPlatformHasUniqueName)
        {
            if (windowTo.IsFunction() == true &&
                windowTo.IsSmall() == true &&
                windowTo.IsContainer() == false &&
                windowTo.GetFunctionId() > 0)
            {
                return(FlowFunctionsTemplateGenerator.GenerateTransitionMethod(this.flowEditor, windowFrom, windowTo));
            }

            return(base.OnCompilerTransitionAttachedGeneration(windowFrom, windowTo, everyPlatformHasUniqueName));
        }
        public override string OnCompilerTransitionTypedAttachedGeneration(FD.FlowWindow windowFrom, FD.FlowWindow windowTo, bool everyPlatformHasUniqueName, System.Type[] types, string[] names)
        {
            if (windowTo.IsFunction() == true &&
                windowTo.IsSmall() == true &&
                windowTo.IsContainer() == false &&
                windowTo.GetFunctionId() > 0)
            {
                return(FlowFunctionsTemplateGenerator.GenerateTransitionTypedMethod(this.flowEditor, windowFrom, windowTo, types, names));
            }

            return(base.OnCompilerTransitionTypedAttachedGeneration(windowFrom, windowTo, everyPlatformHasUniqueName, types, names));
        }
        public override string OnCompilerTransitionGeneration(FlowWindow window)
        {
            var functionContainer = window.GetFunctionContainer();

            if (functionContainer != null)
            {
                var exit = FlowSystem.GetWindow(functionContainer.functionExitId);
                if (exit != null && exit.id == window.id)
                {
                    return(FlowFunctionsTemplateGenerator.GenerateReturnMethod(this.flowEditor, exit));
                }
            }

            return(base.OnCompilerTransitionGeneration(window));
        }