// Token: 0x06000A6A RID: 2666 RVA: 0x0002B114 File Offset: 0x00029314
 public void LocalPlayerUpdateCrouchState(global::CCMotor ccmotor, ref bool crouchFlag, ref bool crouchBlockFlag, ref global::Crouchable.Smoothing smoothing)
 {
     global::Crouchable.CrouchState crouchState;
     crouchState.CrouchBlocked = ccmotor.isCrouchBlocked;
     global::CCTotem.PositionPlacement?lastPositionPlacement = ccmotor.LastPositionPlacement;
     global::CCTotem.PositionPlacement positionPlacement     = (lastPositionPlacement == null) ? new global::CCTotem.PositionPlacement(base.origin, base.origin, base.origin, ccmotor.ccTotemPole.MaximumHeight) : lastPositionPlacement.Value;
     crouchState.BottomY = positionPlacement.bottom.y;
     crouchState.TopY    = positionPlacement.top.y;
     crouchState.InitialStandingHeight = positionPlacement.originalHeight;
     this.LocalPlayerUpdateCrouchState(ref crouchState, ref crouchFlag, ref crouchBlockFlag, ref smoothing);
 }
    // Token: 0x06000A69 RID: 2665 RVA: 0x0002B090 File Offset: 0x00029290
    public void LocalPlayerUpdateCrouchState(ref global::Crouchable.CrouchState incoming, ref bool crouchFlag, ref bool crouchBlockFlag, ref global::Crouchable.Smoothing smoothing)
    {
        double num    = (double)base.initialEyesOffsetY;
        double num2   = (double)incoming.BottomY + num;
        double num3   = (double)(incoming.BottomY + incoming.InitialStandingHeight);
        double num4   = num3 - num2;
        double num5   = (double)incoming.TopY - num4;
        double num6   = num5 - (double)incoming.BottomY;
        double target = num6 - num;

        this.crouchUnits = smoothing.CatchUp(target);
        base.idMain.InvalidateEyesOffset();
        if (incoming.CrouchBlocked)
        {
            crouchBlockFlag = true;
            crouchFlag      = true;
        }
        else
        {
            crouchBlockFlag = false;
        }
    }