private void SelectObject(Selectable selectable) { selectable.HandleSelect(true); SelectableManager.Select(selectable, true); SelectableManager.HandleInteract(); selectable.OnInteractEnded(); }
void SelectableControl_PreviewMouseDown(object sender, MouseButtonEventArgs e) { if (e.ChangedButton == MouseButton.Left || e.ChangedButton == MouseButton.Right) { if (Keyboard.Modifiers.HasFlag(ModifierKeys.Control)) { if (CurrentSelectable.IsSelected) { SelectableManager.RemoveSelect(CurrentSelectable); } else { SelectableManager.AddSelect(CurrentSelectable); } } else { if (!CurrentSelectable.IsSelected) { SelectableManager.Select(CurrentSelectable); } } BringFront(); this.Focus(); } }
private IEnumerator ForceHeldRotation(bool frontFace, float duration) { Transform baseTransform = SelectableManager.GetBaseHeldObjectTransform(); float oldZSpin = _heldFrontFace ? 0.0f : 180.0f; float targetZSpin = frontFace ? 0.0f : 180.0f; float initialTime = Time.time; while (Time.time - initialTime < duration) { float lerp = (Time.time - initialTime) / duration; float currentZSpin = Mathf.SmoothStep(oldZSpin, targetZSpin, lerp); Quaternion currentRotation = Quaternion.Euler(0.0f, 0.0f, currentZSpin); SelectableManager.SetZSpin(currentZSpin); SelectableManager.SetControlsRotation(baseTransform.rotation * currentRotation); SelectableManager.HandleFaceSelection(); yield return(null); } SelectableManager.SetZSpin(targetZSpin); SelectableManager.SetControlsRotation(baseTransform.rotation * Quaternion.Euler(0.0f, 0.0f, targetZSpin)); SelectableManager.HandleFaceSelection(); _heldFrontFace = frontFace; }
public void RotateByLocalQuaternion(Quaternion localQuaternion) { Transform baseTransform = SelectableManager.GetBaseHeldObjectTransform(); float currentZSpin = _heldFrontFace ? 0.0f : 180.0f; SelectableManager.SetControlsRotation(baseTransform.rotation * Quaternion.Euler(0.0f, 0.0f, currentZSpin) * localQuaternion); SelectableManager.HandleFaceSelection(); }
private void SelectObject(Selectable selectable) { SelectableManager selectableManager = KTInputManager.Instance.SelectableManager; selectable.HandleSelect(true); selectableManager.Select(selectable, true); selectableManager.HandleInteract(); selectable.OnInteractEnded(); }
private void onFolderRootChanged(FolderData root) { if (this.selectableManager != null) { this.selectableManager.SelectedFileCountChanged -= onSelectedFileCountChanged; this.selectableManager.Dispose(); this.selectableManager = null; } this.root = root; NotifyPropertyChanged("RootSource"); if (root != null) { this.selectableManager = new SelectableManager(root); this.selectableManager.SelectedFileCountChanged += onSelectedFileCountChanged; } }
private IEnumerator ForceHeldRotation(float duration) { Transform baseTransform = SelectableManager.GetBaseHeldObjectTransform(); float initialTime = Time.time; while (Time.time - initialTime < duration) { Quaternion currentRotation = Quaternion.Euler(0.0f, 0.0f, 0.0f); SelectableManager.SetZSpin(0.0f); SelectableManager.SetControlsRotation(baseTransform.rotation * currentRotation); SelectableManager.HandleFaceSelection(); yield return(null); } SelectableManager.SetZSpin(0.0f); SelectableManager.SetControlsRotation(baseTransform.rotation * Quaternion.Euler(0.0f, 0.0f, 0.0f)); SelectableManager.HandleFaceSelection(); }
private IEnumerator ForceHeldRotation(bool frontFace, float duration) { SelectableManager selectableManager = KTInputManager.Instance.SelectableManager; Transform baseTransform = selectableManager.GetBaseHeldObjectTransform(); float oldZSpin = selectableManager.GetZSpin(); float targetZSpin = frontFace ? 0.0f : 180.0f; float initialTime = Time.time; while (Time.time - initialTime < duration) { float lerp = (Time.time - initialTime) / duration; float currentZSpin = Mathf.SmoothStep(oldZSpin, targetZSpin, lerp); Quaternion currentRotation = Quaternion.Euler(0.0f, 0.0f, currentZSpin); Vector3 HeldObjectTiltEulerAngles = selectableManager.GetHeldObjectTiltEulerAngles(); HeldObjectTiltEulerAngles.x = Mathf.Clamp(HeldObjectTiltEulerAngles.x, -95f, 95f); HeldObjectTiltEulerAngles.z -= selectableManager.GetZSpin() - currentZSpin; selectableManager.SetZSpin(currentZSpin); selectableManager.SetControlsRotation(baseTransform.rotation * currentRotation); selectableManager.SetHeldObjectTiltEulerAngles(HeldObjectTiltEulerAngles); selectableManager.HandleFaceSelection(); yield return(null); } Vector3 HeldObjectTileEulerAnglesFinal = selectableManager.GetHeldObjectTiltEulerAngles(); HeldObjectTileEulerAnglesFinal.x = Mathf.Clamp(HeldObjectTileEulerAnglesFinal.x, -95f, 95f); HeldObjectTileEulerAnglesFinal.z -= selectableManager.GetZSpin() - targetZSpin; selectableManager.SetZSpin(targetZSpin); selectableManager.SetControlsRotation(baseTransform.rotation * Quaternion.Euler(0.0f, 0.0f, targetZSpin)); selectableManager.SetHeldObjectTiltEulerAngles(HeldObjectTileEulerAnglesFinal); selectableManager.HandleFaceSelection(); }
private void DeselectObject(Selectable selectable) { SelectableManager.HandleCancel(); }
private void DeselectObject(Selectable selectable) { SelectableManager selectableManager = KTInputManager.Instance.SelectableManager; selectableManager.HandleCancel(); }