Beispiel #1
0
    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);
    }
Beispiel #2
0
    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);
    }