private void OnItemClick(object sender, ItemArgs e) { ProBuilderCmd cmd = (ProBuilderCmd)e.Items[0]; if (cmd.Validate()) { cmd.Run(); } }
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; }
private void OnItemExpanding(object sender, VirtualizingItemExpandingArgs e) { ProBuilderCmd cmd = (ProBuilderCmd)e.Item; e.Children = cmd.Children; }
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); }