コード例 #1
0
 public static void InvokeSnap(Vector3 delta)
 {
     if (OnSnap != null)
     {
         OnSnap.Invoke(delta);
     }
 }
コード例 #2
0
    //IEnumerator is lerping
    protected virtual IEnumerator UpdateTransformDimensions(GameObject ioCheck, GameObject endSettings, float duration)
    {
        float      elapsedTime   = 0f;
        Transform  ioTransform   = ioCheck.transform;
        Vector3    startPosition = ioTransform.position;
        Quaternion startRotation = ioTransform.rotation;
        Vector3    startScale    = ioTransform.localScale;

        ioCheck.GetComponent <Rigidbody>().isKinematic = true;

        while (elapsedTime <= duration)
        {
            elapsedTime += Time.deltaTime;
            if (ioTransform != null && endSettings != null)
            {
                ioTransform.position   = Vector3.Lerp(startPosition, endSettings.transform.position, (elapsedTime / duration));
                ioTransform.rotation   = Quaternion.Lerp(startRotation, endSettings.transform.rotation, (elapsedTime / duration));
                ioTransform.localScale = Vector3.Lerp(startScale, endSettings.transform.localScale, (elapsedTime / duration));
            }
            yield return(null);
        }
        //if onsnap != null invoke
        OnSnap?.Invoke();
    }