UnityEditor.NewScriptGenerator.WriteFunction C# (CSharp) Method

WriteFunction() private method

private WriteFunction ( UnityEditor.FunctionData function ) : void
function UnityEditor.FunctionData
return void
        private void WriteFunction(FunctionData function)
        {
            string paramString = string.Empty;
            string overrideString;
            string returnTypeString;
            string functionContentString;

            switch (m_ScriptPrescription.m_Lang)
            {
            case Language.JavaScript:
                // Comment
                WriteComment (function.comment);

                // Function header
                for (int i=0; i<function.parameters.Length; i++)
                {
                    paramString += function.parameters[i].name + " : " + TranslateTypeToJavascript (function.parameters[i].type);
                    if (i < function.parameters.Length-1)
                        paramString += ", ";
                }
                overrideString = (function.isVirtual ? "override " : string.Empty);
                returnTypeString = (function.returnType == null ? " " : " : " + TranslateTypeToJavascript (function.returnType) + " ");
                m_Writer.WriteLine (m_Indentation + overrideString + "function " + function.name + " (" + paramString + ")" + returnTypeString + "{");

                // Function content
                IndentLevel++;
                functionContentString = (function.returnType == null ? string.Empty : function.returnDefault + ";");
                m_Writer.WriteLine (m_Indentation + functionContentString);
                IndentLevel--;
                m_Writer.WriteLine (m_Indentation + "}");

                break;

            case Language.CSharp:
                // Comment
                WriteComment (function.comment);

                // Function header
                for (int i=0; i<function.parameters.Length; i++)
                {
                    paramString += function.parameters[i].type + " " + function.parameters[i].name;
                    if (i < function.parameters.Length-1)
                        paramString += ", ";
                }
                overrideString = (function.isVirtual ? "public override " : string.Empty);
                returnTypeString = (function.returnType == null ? "void " : function.returnType + " ");
                m_Writer.WriteLine (m_Indentation + overrideString + returnTypeString + function.name + " (" + paramString + ") {");

                // Function content
                IndentLevel++;
                functionContentString = (function.returnType == null ? string.Empty : function.returnDefault + ";");
                m_Writer.WriteLine (m_Indentation + functionContentString);
                IndentLevel--;
                m_Writer.WriteLine (m_Indentation + "}");

                break;

            case Language.Boo:
                // Comment
                WriteComment (function.comment);

                // Function header
                for (int i=0; i<function.parameters.Length; i++)
                {
                    paramString += function.parameters[i].name + " as " + TranslateTypeToBoo (function.parameters[i].type);
                    if (i < function.parameters.Length-1)
                        paramString += ", ";
                }
                overrideString = (function.isVirtual ? "public override " : string.Empty);
                returnTypeString = (function.returnType == null ? string.Empty : " as " + TranslateTypeToJavascript (function.returnType));
                m_Writer.WriteLine (m_Indentation + overrideString + "def " + function.name + " (" + paramString + ")" + returnTypeString + ":");

                // Function content
                IndentLevel++;
                functionContentString = (function.returnType == null ? "pass" : function.returnDefault);
                m_Writer.WriteLine (m_Indentation + functionContentString);
                IndentLevel--;

                break;
            }
        }