예제 #1
0
파일: Colorize.cs 프로젝트: ubisoft/vrtist
 public void OnSetPick()
 {
     colorOp = ColorOp.Pick;
     colorizeButton.Checked        = false;
     pickButton.Checked            = true;
     updateSelectionButton.Checked = false;
     Tooltips.SetText(VRDevice.PrimaryController, Tooltips.Location.Trigger, Tooltips.Action.Push, "Pick Material");
 }
예제 #2
0
파일: Colorize.cs 프로젝트: ubisoft/vrtist
 public void OnSetUpdateSelection()
 {
     colorOp = ColorOp.UpdateSelection;
     colorizeButton.Checked        = false;
     pickButton.Checked            = false;
     updateSelectionButton.Checked = true;
     Tooltips.SetText(VRDevice.PrimaryController, Tooltips.Location.Trigger, Tooltips.Action.Push, "Select Object");
     UpdateMaterial();
 }
예제 #3
0
파일: Colorize.cs 프로젝트: ubisoft/vrtist
        protected override void DoUpdate()
        {
            // Alt button
            VRInput.ButtonEvent(VRInput.primaryController, CommonUsages.primaryButton, () =>
            {
                previousColorOp = colorOp;
                colorOp         = ColorOp.Pick;
                uiInitialized   = false;
            }, () =>
            {
                colorOp       = previousColorOp;
                uiInitialized = false;
            });

            // Update UI
            if (!uiInitialized)
            {
                uiInitialized = true;
                switch (colorOp)
                {
                case ColorOp.Colorize: OnSetColorize(); break;

                case ColorOp.UpdateSelection: OnSetUpdateSelection(); break;

                case ColorOp.Pick: OnSetPick(); break;
                }
                UpdatePreview();
            }

            // Clear selection: only when triggering on nothing with the ColorOp.UpdateSelection
            if (ColorOp.UpdateSelection == colorOp)
            {
                VRInput.ButtonEvent(VRInput.primaryController, CommonUsages.triggerButton, () =>
                {
                    selectionHasChanged = false;
                }, () =>
                {
                    if (!selectionHasChanged && ColorOp.UpdateSelection == colorOp)
                    {
                        CommandRemoveFromSelection command = new CommandRemoveFromSelection(Selection.SelectedObjects.ToList());
                        command.Redo();
                        command.Submit();
                    }
                });
            }
        }
예제 #4
0
파일: Colorize.cs 프로젝트: ubisoft/vrtist
 protected override void OnEnable()
 {
     base.OnEnable();
     colorOp       = ColorOp.Colorize;
     uiInitialized = false;
 }