Ejemplo n.º 1
0
 public void LocalPlayerUpdateCrouchState(CCMotor ccmotor, ref bool crouchFlag, ref bool crouchBlockFlag, ref Crouchable.Smoothing smoothing)
 {
     Crouchable.CrouchState crouchState = new Crouchable.CrouchState();
     crouchState.CrouchBlocked = ccmotor.isCrouchBlocked;
     CCTotem.PositionPlacement?lastPositionPlacement = ccmotor.LastPositionPlacement;
     CCTotem.PositionPlacement positionPlacement     = (!lastPositionPlacement.HasValue ? new 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);
 }
Ejemplo n.º 2
0
    public void LocalPlayerUpdateCrouchState(ref Crouchable.CrouchState incoming, ref bool crouchFlag, ref bool crouchBlockFlag, ref Crouchable.Smoothing smoothing)
    {
        double num      = (double)base.initialEyesOffsetY;
        double bottomY  = (double)incoming.BottomY + num;
        double bottomY1 = (double)(incoming.BottomY + incoming.InitialStandingHeight);
        double topY     = (double)incoming.TopY - (bottomY1 - bottomY);
        double num1     = topY - (double)incoming.BottomY;

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