/// <summary> /// 获取当前用户业务系统授权的项目 /// </summary> /// <param name="application"></param> /// <returns></returns> public DDTreeDTO <IDDTreeItem> GetDDTreeData(TreeType treeType, string ApplySys) { var tree = new DDTreeDTO <IDDTreeItem>(); var userguid = HttpContext.Current.Session["UserGUID"].ToString(); var value = DBHelper.ExecuteScalarString("select ArgGUID from myCurrArgs where UserGUID=@0 and ObjType=@1", userguid, treeType.ToString()); switch (treeType) { //部门 case TreeType.Dept: case TreeType.ProjectTeam: case TreeType.Team: tree.data = GetDept(userguid); if (!string.IsNullOrEmpty(value)) { if (DBHelper.ExecuteScalarInt("select 1 from myBusinessUnit where BUGUID=@0 and CompanyGUID=@1", value, CurrentUser.Current.BUGUID) != 1) { value = null; } } break; //项目 case TreeType.Project: case TreeType.EndProject: tree.data = GetProject(userguid, ApplySys); if (!string.IsNullOrEmpty(value)) { if (DBHelper.ExecuteScalarInt("SELECT 1 FROM dbo.p_Project WHERE BUGUID=@1 AND ProjGUID=@0", value, CurrentUser.Current.BUGUID) != 1) { value = null; } } break; //公司 default: tree.data = GetCompany(userguid); value = CurrentUser.Current.BUGUID; break; } tree.value = value; return(tree); }
protected Declaration(TreeType type, Span span, IList <Comment> comments) : base(type, span, comments) { if (type != TreeType.SyntaxError && !Tree.Types.IsDeclaration(type)) { throw new ArgumentOutOfRangeException("type", "Invalid declaration type: " + type.ToString()); } }
public override void Generate() { if (generated) { return; } base.Generate(); Util.ClearChildren(transform); //TODO: Swaying animation //TODO: GRASS //Trunk var top = GenerateTrunk(); //Leaves rootLeaves = new GameObject("Leaves"); rootLeaves.transform.SetParent(transform); rootLeaves.transform.localPosition = Vector3.zero; rootLeaves.transform.localScale = Vector3.one; var leafFilter = rootLeaves.AddComponent <MeshFilter>(); var leafRender = rootLeaves.AddComponent <MeshRenderer>(); var leafCollide = rootLeaves.AddComponent <MeshCollider>(); int amount = AmountOfLeaves; if (treeType == TreeType.BROCCAULI) { amount = AmountOfLeaves * 2; } var leafOBJ = new GameObject[amount]; var leafMaterials = new Material[amount]; var combine = new CombineInstance[amount]; var leafColor = Color.HSVToRGB(Random.Range(0f, 1f), Random.Range(0.15f, 0.5f), 1f); for (int i = 0; i < amount; i++) { Mesh leaves; leafOBJ[i] = GenerateLeaves(i, top, leafColor, out leaves, out leafMaterials[i]); combine[i].mesh = leaves; combine[i].transform = Matrix4x4.TRS(Vector3.up * HeightSegments * trunkHeight + new Vector3(0, Yoffset, 0), Quaternion.identity, Vector3.one); } var leafMesh = new Mesh(); leafMesh.CombineMeshes(combine, false); #if UNITY_EDITOR MeshUtility.Optimize(leafMesh); #endif leafFilter.sharedMesh = leafMesh; leafCollide.sharedMesh = leafMesh; leafRender.sharedMaterials = leafMaterials; foreach (var i in leafOBJ) { DestroyImmediate(i); } gameObject.name = treeType.ToString().ToLower(); FinaliseMesh(); generated = true; }