void Start() { Vector2 positionWorldSpace = transform.position; clipPosition = positionWorldSpace - terrain.GetPositionOffset(); terrain.ExecuteClip(this); }
void UpdateTouch() { if (TouchUtility.TouchCount > 0) { Touch touch = TouchUtility.GetTouch(0); Vector2 touchPosition = touch.position; touchPhase = touch.phase; if (touch.phase == TouchPhase.Began) { Vector2 XOYPlaneLocation = mainCamera.ScreenToWorldPoint(new Vector3(touchPosition.x, touchPosition.y, -cameraZPos)); currentTouchPoint = XOYPlaneLocation - terrain.GetPositionOffset(); BuildVertices(currentTouchPoint); terrain.ExecuteClip(this); previousTouchPoint = currentTouchPoint; } else if (touch.phase == TouchPhase.Moved) { Vector2 XOYPlaneLocation = mainCamera.ScreenToWorldPoint(new Vector3(touchPosition.x, touchPosition.y, -cameraZPos)); currentTouchPoint = XOYPlaneLocation - terrain.GetPositionOffset(); if ((currentTouchPoint - previousTouchPoint).sqrMagnitude <= touchMoveDistance * touchMoveDistance) { return; } BuildVertices(previousTouchPoint, currentTouchPoint); terrain.ExecuteClip(this); previousTouchPoint = currentTouchPoint; } } }