private IEnumerator handleMomentum( dfGestureBase gesture ) { isMouseDown = false; const float SPEED = 10f; var direction = (Vector3)( gesture.CurrentPosition - gesture.StartPosition ) * control.PixelsToUnits(); var planes = GeometryUtility.CalculateFrustumPlanes( control.GetCamera() ); var startTime = Time.realtimeSinceStartup; while( !isMouseDown ) { var timeNow = Time.realtimeSinceStartup; var elapsed = timeNow - startTime; if( elapsed > 1f ) break; control.transform.position += direction * Time.deltaTime * SPEED * ( 1f - elapsed ); yield return null; } if( !GeometryUtility.TestPlanesAABB( planes, control.GetComponent<Collider>().bounds ) ) { control.enabled = false; DestroyImmediate( gameObject ); } }
private IEnumerator handleMomentum(dfGestureBase gesture) { isMouseDown = false; const float SPEED = 10f; var direction = (Vector3)(gesture.CurrentPosition - gesture.StartPosition) * control.PixelsToUnits(); var planes = GeometryUtility.CalculateFrustumPlanes(control.GetCamera()); var startTime = Time.realtimeSinceStartup; while (!isMouseDown) { var timeNow = Time.realtimeSinceStartup; var elapsed = timeNow - startTime; if (elapsed > 1f) { break; } control.transform.position += direction * Time.deltaTime * SPEED * (1f - elapsed); yield return(null); } if (!GeometryUtility.TestPlanesAABB(planes, control.GetComponent <Collider>().bounds)) { control.enabled = false; DestroyImmediate(gameObject); } }
public IEnumerator OnFlickGesture( dfGestureBase gesture ) { return handleMomentum( gesture ); }
public IEnumerator OnFlickGesture(dfGestureBase gesture) { return(handleMomentum(gesture)); }