Exemple #1
0
    protected void UpdateInput()
    {
        bool            flag;
        bool            flag1;
        InventoryHolder inventoryHolder = this.inventoryHolder;

        PlayerClient.InputFunction(base.gameObject);
        if (!inventoryHolder)
        {
            int num = 1;
            flag1 = (bool)num;
            flag  = (bool)num;
        }
        else
        {
            ItemModFlags itemModFlag = inventoryHolder.modFlags;
            flag  = (itemModFlag & ItemModFlags.Lamp) == ItemModFlags.Other;
            flag1 = (itemModFlag & ItemModFlags.Laser) == ItemModFlags.Other;
        }
        HumanController.InputSample crouchWasBlocked = HumanController.InputSample.Poll(flag, flag1);
        crouchWasBlocked.info__crouchBlocked = this.crouch_was_blocked;
        bool legInjury = base.GetLocal <FallDamage>().GetLegInjury() > 0f;

        if (legInjury)
        {
            crouchWasBlocked.crouch = true;
            crouchWasBlocked.jump   = false;
        }
        if (crouchWasBlocked.walk <= 0f || Mathf.Abs(crouchWasBlocked.strafe) >= 0.05f || crouchWasBlocked.attack2 || this._inventory.isCrafting || legInjury)
        {
            crouchWasBlocked.sprint = false;
        }
        float single = 1f;

        if (this._inventory.isCrafting)
        {
            single = single * 0.5f;
        }
        if (legInjury)
        {
            single = single * 0.5f;
        }
        HumanController.InputSample.MovementScale = single;
        if (!inventoryHolder)
        {
            this.ProcessInput(ref crouchWasBlocked);
        }
        else
        {
            object obj = inventoryHolder.InvokeInputItemPreFrame(ref crouchWasBlocked);
            this.ProcessInput(ref crouchWasBlocked);
            inventoryHolder.InvokeInputItemPostFrame(obj, ref crouchWasBlocked);
        }
        this.CheckBeltUsage();
        if (this.wasSprinting && !crouchWasBlocked.sprint)
        {
            this.SprintingStopped();
        }
        else if (!this.wasSprinting && crouchWasBlocked.sprint)
        {
            this.SprintingStarted();
        }
    }
    protected void UpdateInput()
    {
        bool            flag;
        bool            flag2;
        InventoryHolder inventoryHolder = this.inventoryHolder;

        PlayerClient.InputFunction(base.gameObject);
        if (inventoryHolder != null)
        {
            ItemModFlags modFlags = inventoryHolder.modFlags;
            flag  = (modFlags & ItemModFlags.Lamp) == ItemModFlags.Other;
            flag2 = (modFlags & ItemModFlags.Laser) == ItemModFlags.Other;
        }
        else
        {
            flag = flag2 = true;
        }
        InputSample sample = InputSample.Poll(flag, flag2);

        sample.info__crouchBlocked = this.crouch_was_blocked;
        bool flag3 = base.GetLocal <FallDamage>().GetLegInjury() > 0f;

        if (flag3)
        {
            sample.crouch = true;
            sample.jump   = false;
        }
        if (((sample.walk <= 0f) || (Mathf.Abs(sample.strafe) >= 0.05f)) || ((sample.attack2 || this._inventory.isCrafting) || flag3))
        {
            sample.sprint = false;
        }
        float num = 1f;

        if (this._inventory.isCrafting)
        {
            num *= 0.5f;
        }
        if (flag3)
        {
            num *= 0.5f;
        }
        InputSample.MovementScale = num;
        if (inventoryHolder != null)
        {
            object item = inventoryHolder.InvokeInputItemPreFrame(ref sample);
            this.ProcessInput(ref sample);
            inventoryHolder.InvokeInputItemPostFrame(item, ref sample);
        }
        else
        {
            this.ProcessInput(ref sample);
        }
        this.CheckBeltUsage();
        if (this.wasSprinting && !sample.sprint)
        {
            this.SprintingStopped();
        }
        else if (!this.wasSprinting && sample.sprint)
        {
            this.SprintingStarted();
        }
    }