/// <summary> /// Generates a fluent syntax from a given type. /// </summary> /// <param name="root">The type to analyze for fluent syntax /// creation.</param> /// <param name="generateParams">Other parameters relevant for /// fluent syntax generation output.</param> /// <returns></returns> public static CodeNamespace Generate(Type root, GenerateParams generateParams) { SyntaxAutomataBuilder syntaxAutomataBuilder = new SyntaxAutomataBuilder(root); IDeterministicAutomata<MethodInfo> syntaxAutomata = syntaxAutomataBuilder.Build (FundamentalAutomatas.True("Root", new ToStringComparer<MethodInfo>())); AutomataNamespaceBuilder automataNamespaceBuilder = new AutomataNamespaceBuilder(syntaxAutomata); CodeNamespace result = automataNamespaceBuilder.Build(generateParams.NamespaceName, generateParams.SyntaxTypeName); return result; }
public static MeshFilter GenerateRectObj(Vector3 origin, GenerateParams gParams) { nRow = gParams.row; nCol = gParams.col; generateParams = gParams; vecOrigin = Vector3.zero; vertices.Clear(); triangles.Clear(); UV.Clear(); dicProcessedRecord.Clear(); int rectCount = 0; for (int i = 0; i < nCol; ++i) { for (int j = 0; j < nRow; ++j) { if (GenerateSingleRect(i, j)) { ++rectCount; } } } Debug.Log("Generate Rect Num: " + rectCount); Mesh mesh = null; if (gParams.mfOperate) { mesh = gParams.mfOperate.mesh; mesh.Clear(); } else { GameObject go = new GameObject(gParams.objName); //分配mesh gParams.mfOperate = go.AddComponent <MeshFilter>(); gParams.mfOperate.mesh = mesh = new Mesh(); //分配材质 MeshRenderer mr = go.GetComponent <MeshRenderer>(); if (!mr) { mr = go.AddComponent <MeshRenderer>(); } mr.sharedMaterial = AssetDatabase.LoadAssetAtPath <Material>(gParams.materialPath); if (gParams.parent) { go.transform.SetParent(gParams.parent); } } mesh.vertices = vertices.ToArray(); mesh.triangles = triangles.ToArray(); mesh.uv = UV.ToArray(); mesh.RecalculateBounds(); mesh.RecalculateTangents(); mesh.RecalculateNormals(); gParams.mfOperate.transform.position = origin; return(gParams.mfOperate); }
public bool Generate(GenerateParams parameters, int count) { return(_service.GenerateLocalUsers(parameters.template, parameters.pattern, parameters.domain, count)); }