Exemplo n.º 1
0
 //Fill in the choices typewriter style
 IEnumerator FillChoiceLine(string fullLine, TextMeshProUGUI displayLine, float textSpeed)
 {
     LineCompleted.SetValue(false);
     displayLine.text = "";
     for (int i = 0; i < fullLine.Length; i++)
     {
         displayLine.text += fullLine[i];
         yield return(new WaitForSeconds(textSpeed));
     }
 }
    private void FixedUpdate()
    {
        if (GrabbingObject.Value)
        {
            Collider.enabled = true;
            if (!_setRotation)
            {
                _inverseRot  = Quaternion.Inverse(Player.rotation);
                _objectRot   = transform.rotation;
                _setRotation = true;
            }

            var deltaRotation = Player.rotation * _inverseRot;
            var rot           = deltaRotation * _objectRot;
            transform.rotation = rot;

            //var relativePos = transform.position - Player.transform.position;
        }
        else
        {
            Collider.enabled = false;
            _setRotation     = false;
            _isColliding     = false;
        }

        _rb.velocity        = Vector3.zero;
        _rb.angularVelocity = Vector3.zero;
        var slowSpeed = 2f;
        var speed     = _isColliding ? slowSpeed : FollowSpeed;

        transform.position = ETween.Step(transform.position, HoldTransform.position, speed);
        var distance = Vector3.Distance(transform.position, HoldTransform.position);

        if (distance >= MaxDistance && _isColliding)
        {
            GrabbingObject.SetValue(false);
        }
        if (transform.position.y < Player.transform.position.y - 1.1f)
        {
            GrabbingObject.SetValue(false);
        }
    }
Exemplo n.º 3
0
    public void Release()
    {
        Debug.Log("Released");

        GrabbingObject.SetValue(false);
        foreach (IInteractComponent component in _manipulators)
        {
            component.OnDeactivate();
        }

        Enabled = false;

        if (!Once)
        {
            StartCoroutine(DelayBeforeEnabled());
        }
    }