Esempio n. 1
0
        private void OnItemClick(object sender, ItemArgs e)
        {
            ProBuilderCmd cmd = (ProBuilderCmd)e.Items[0];

            if (cmd.Validate())
            {
                cmd.Run();
            }
        }
Esempio n. 2
0
        private void OnItemDataBinding(object sender, VirtualizingTreeViewItemDataBindingArgs e)
        {
            TextMeshProUGUI text = e.ItemPresenter.GetComponentInChildren <TextMeshProUGUI>();
            ProBuilderCmd   cmd  = (ProBuilderCmd)e.Item;

            text.text = cmd.Text;

            bool  isValid = cmd.Validate();
            Color color   = text.color;

            color.a    = isValid ? 1 : 0.5f;
            text.color = color;

            e.CanDrag     = cmd.CanDrag;
            e.HasChildren = cmd.HasChildren;
        }
Esempio n. 3
0
        private void OnItemExpanding(object sender, VirtualizingItemExpandingArgs e)
        {
            ProBuilderCmd cmd = (ProBuilderCmd)e.Item;

            e.Children = cmd.Children;
        }
Esempio n. 4
0
        private List <ProBuilderCmd> GetCommonCommands()
        {
            List <ProBuilderCmd> commands    = new List <ProBuilderCmd>();
            ProBuilderCmd        newShapeCmd = new ProBuilderCmd("New Shape", OnNewShape, true)
            {
                Arg = PBShapeType.Cube
            };

            newShapeCmd.Children = new List <ProBuilderCmd>
            {
                new ProBuilderCmd("Arch", OnNewShape, true)
                {
                    Parent = newShapeCmd, Arg = PBShapeType.Arch
                },
                new ProBuilderCmd("Cone", OnNewShape, true)
                {
                    Parent = newShapeCmd, Arg = PBShapeType.Cone
                },
                new ProBuilderCmd("Cube", OnNewShape, true)
                {
                    Parent = newShapeCmd, Arg = PBShapeType.Cube
                },
                new ProBuilderCmd("Curved Stair", OnNewShape, true)
                {
                    Parent = newShapeCmd, Arg = PBShapeType.CurvedStair
                },
                new ProBuilderCmd("Cylinder", OnNewShape, true)
                {
                    Parent = newShapeCmd, Arg = PBShapeType.Cylinder
                },
                new ProBuilderCmd("Door", OnNewShape, true)
                {
                    Parent = newShapeCmd, Arg = PBShapeType.Door
                },
                new ProBuilderCmd("Pipe", OnNewShape, true)
                {
                    Parent = newShapeCmd, Arg = PBShapeType.Pipe
                },
                new ProBuilderCmd("Plane", OnNewShape, true)
                {
                    Parent = newShapeCmd, Arg = PBShapeType.Plane
                },
                new ProBuilderCmd("Prism", OnNewShape, true)
                {
                    Parent = newShapeCmd, Arg = PBShapeType.Prism
                },
                new ProBuilderCmd("Sphere", OnNewShape, true)
                {
                    Parent = newShapeCmd, Arg = PBShapeType.Sphere
                },
                new ProBuilderCmd("Sprite", OnNewShape, true)
                {
                    Parent = newShapeCmd, Arg = PBShapeType.Sprite
                },
                new ProBuilderCmd("Stair", OnNewShape, true)
                {
                    Parent = newShapeCmd, Arg = PBShapeType.Stair
                },
                new ProBuilderCmd("Torus", OnNewShape, true)
                {
                    Parent = newShapeCmd, Arg = PBShapeType.Torus
                },
            };

            commands.Add(newShapeCmd);
            commands.Add(new ProBuilderCmd("New Poly Shape", OnNewPolyShape, true));
            commands.Add(new ProBuilderCmd("Edit Materials", OnEditMaterials));
            commands.Add(new ProBuilderCmd("Edit UV", OnEditUV));
            return(commands);
        }