示例#1
0
        public static string Declaration(int indent, RootAccessModifier scope, string typeName, string inherits, List <Interface> interfaces, string attributes, string parameters, List <Variable> variables, string customVariables, string constructors, Methods methods, bool isLive)
        {
            var output = string.Empty;

            output += attributes + (string.IsNullOrEmpty(attributes) ? string.Empty : "\n");
            output += CodeBuilder.Indent(indent) + CodeBuilder.Scope(scope) + " " + Patcher.ObjectTypeName(ObjectKind.Class) + " " + typeName + CodeBuilder.TryAddBaseTypeSeperator(inherits, interfaces) + inherits + CodeBuilder.Interfaces(interfaces, inherits, (interfaces.Count > 0) ? true : false);
            output += "\n";
            output += CodeBuilder.Indent(indent) + "{";
            output += "\n";
            output += CodeBuilder.Variables(variables, indent + 1);
            output += (string.IsNullOrEmpty(constructors) ? string.Empty : "\n");
            output += constructors;
            output += CodeBuilder.Indent(indent) + "}";
            return(output);
        }
示例#2
0
        public static string EnumDeclaration(int indent, RootAccessModifier scope, string typeName, string attributes, List <Enum> items, bool isLive)
        {
            var output = string.Empty;

            output += attributes + (string.IsNullOrEmpty(attributes) ? string.Empty : "\n");
            output += CodeBuilder.Indent(indent) + CodeBuilder.Scope(scope) + " " + Patcher.ObjectTypeName(ObjectKind.Enum) + " " + typeName;
            output += "\n";
            output += CodeBuilder.Indent(indent) + "{";
            output += "\n";

            for (int i = 0; i < items.Count; i++)
            {
                output += CodeBuilder.Indent(indent + 1) + items[i].name + " = " + items[i].index.ToString();
                if (i != items.Count - 1)
                {
                    output += ",";
                }
                output += "\n";
            }

            output += CodeBuilder.Indent(indent) + "}";

            return(output);
        }
示例#3
0
        public static string Declaration(int indent, RootAccessModifier scope, ClassModifier modifier, string typeName, string inherits, List <Interface> interfaces, string attributes, string parameters, List <Variable> variables, string customVariables, string constructors, string preMethodCustomText, Methods methods, bool isLive)
        {
            var output = string.Empty;

            output += attributes + (string.IsNullOrEmpty(attributes) ? string.Empty : "\n");
            output += CodeBuilder.Indent(indent) + CodeBuilder.Scope(scope) + " " + ((modifier == ClassModifier.None) ? string.Empty : Patcher.AddLowerUpperNeighboringSpaces(modifier.ToString()).ToLower()) + " " + Patcher.ObjectTypeName(ObjectKind.Class) + " " + typeName + CodeBuilder.TryAddBaseTypeSeperator(inherits, interfaces) + inherits + CodeBuilder.Interfaces(interfaces, inherits, (interfaces.Count > 0) ? true : false);
            output += "\n";
            output += CodeBuilder.Indent(indent) + "{";
            output += "\n";
            output += CodeBuilder.Variables(variables, indent + 1);
            output += customVariables;
            output += (string.IsNullOrEmpty(customVariables) ? string.Empty : "\n");
            output += constructors;
            output += preMethodCustomText;
            output += string.IsNullOrEmpty(preMethodCustomText) ? string.Empty : "\n\n";
            output += MethodBuilder.Methods(indent + 1, methods, isLive);
            output += CodeBuilder.Indent(indent) + "}";
            return(output);
        }