public IEnumerator MoveToNode(Node node) { _startPosition = transform.position; _targetPosition = node.transform.position + _cameraOffset; _moveTimer = 0; while (_moveTimer < moveDuration) { transform.position = Vector3.Lerp(_startPosition, _targetPosition, Math3D.CubicEaseOut(_moveTimer, moveDuration)); _moveTimer += Time.deltaTime; yield return(null); } transform.position = _targetPosition; // currentNode = targetNode; // targetNode = null; yield return(null); }
public IEnumerator CardAnim(GameObject card, Vector3 endPos, Quaternion endRot) { var tf = card.transform; var startPosition = tf.position; var startRotation = tf.rotation; var moveTimer = 0f; var moveDuration = 0.1f; while (moveTimer < moveDuration) { tf.position = Vector3.Lerp(startPosition, endPos, Math3D.CubicEaseOut(moveTimer, moveDuration)); tf.rotation = Quaternion.Lerp(startRotation, endRot, Math3D.CubicEaseOut(moveTimer, moveDuration)); moveTimer += Time.deltaTime; yield return(null); } transform.position = endPos; yield return(null); }