Ejemplo n.º 1
0
    // Token: 0x06005986 RID: 22918 RVA: 0x001F18B0 File Offset: 0x001EFCB0
    public bool ShouldSleep()
    {
        if (this.isPlayer)
        {
            return(false);
        }
        if ((double)Time.time < base.OwnershipTransferTime + (double)this.UserJoinedUnsettlingTime)
        {
            return(false);
        }
        if (this.isHeld || this.WasDiscontinuousRecently)
        {
            return(false);
        }
        if (!this.hasRigidbody || this.rigidbody.IsSleeping())
        {
            return(true);
        }
        Vector3 target = this.GetVelocity();

        if (!target.AlmostEquals(Vector3.zero, 1E-05f))
        {
            return(false);
        }
        SyncPhysics.PositionEvent penultimatePosition = this.PenultimatePosition;
        if (penultimatePosition == null || penultimatePosition.Discontinuity)
        {
            return(false);
        }
        Vector3 target2 = this.GetPosition();

        if (!target2.AlmostEquals(penultimatePosition.Position, 1E-05f))
        {
            return(false);
        }
        Quaternion target3 = this.GetRotation();

        return(target3.AlmostEquals(penultimatePosition.Rotation, 0.1f));
    }