void OnNavigationUpdate(Vector3 delta) { extraOperatingEndTime = Time.realtimeSinceStartup + 0.2f; if (currentOperationType == ExtraOperationType.Rotate) { //DoExtraRotation(new Vector3(0, delta.x * 2, 0)); DoExtraRotation(delta.x * -2f); } else if (currentOperationType == ExtraOperationType.Scale) { DoExtraScale(delta.y * 0.03f); } else { if (Mathf.Abs(delta.x) > Mathf.Abs(delta.y)) { currentOperationType = ExtraOperationType.Rotate; //currentRorateFactorDelta = currentRotateFactor; } else { currentOperationType = ExtraOperationType.Scale; } } }
void OnNavigationStart(Vector3 delta) { currentOperationType = ExtraOperationType.Unknown; extraOperating = true; extraOperatingEndTime = Time.realtimeSinceStartup + 0.2f; Debug.Log("navigation start"); }
//private float lastValue = 0; private void OnSliderRotate(float value) { if (!ignoreSliderChangedEvent) { //Debug.Log("来发送"); extraOperating = true; } SetRotation(new Vector3(0, value * 180, 0)); currentOperationType = ExtraOperationType.Rotate; extraOperatingEndTime = Time.realtimeSinceStartup + 0.2f; }
private void OnSliderScale(float value) { //Debug.Log("Scale:" + value); if (!ignoreSliderChangedEvent) { //Debug.Log("来发送"); extraOperating = true; } currentOperationType = ExtraOperationType.Scale; DoSetScale(value); extraOperatingEndTime = Time.realtimeSinceStartup + 0.2f; }
private void OnSliderRotate(float value) { // 给抖动添加缓冲,如果小于某个值则不进行旋转 difference = value - lastValue; // Debug.Log("Diference ============" + difference); lastValue = value; if (difference > 0.001f || difference < 0.001f) { // Debug.Log("拖动进度条:" + value); if (!ignoreSliderChangedEvent) { //Debug.Log("来发送"); extraOperating = true; } SetRotation(new Vector3(0, value * 180, 0)); currentOperationType = ExtraOperationType.Rotate; extraOperatingEndTime = Time.realtimeSinceStartup + 0.2f; } }
void OnNavigationEnd(Vector3 delta) { Debug.Log("navigation end"); extraOperating = false; currentOperationType = ExtraOperationType.Unknown; }