Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
 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());
     }
 }
Esempio n. 3
0
    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;
    }