// Update is called once per frame void Update() { float loc_vel = (float)Math.Round(body.velocity.magnitude, 2); if (loc_vel != 0) { vel = loc_vel; } if (Input.GetButton("Vertical")) { if (Input.GetButton("Jump")) { gameObject.layer = 14; } } else { if (Input.GetButtonDown("Jump") && grounded && !is_jumped) { set_free(); body.AddForce(new Vector2(0f, force)); is_jumped = true; } } if (Input.GetButtonUp("Vertical") || Input.GetButtonUp("Jump")) { gameObject.layer = 10; } if (is_jumped) { jump_delay_timer -= Time.deltaTime; if (jump_delay_timer <= 0) { is_jumped = false; jump_delay_timer = jump_delay; } } if (Input.GetButton("Sprint") && grounded) { speed = sprint_speed; } if (Input.GetButtonUp("Sprint") && grounded) { speed = defualt_speed; } if (Input.GetButton("Walk") && grounded) { speed = walk_speed; } if (Input.GetButtonUp("Walk") && grounded) { speed = defualt_speed; } if (hangedOn) { if (vertical < 0) { set_free(); } } if (Input.GetMouseButtonUp(1)) { if (grab.holding) //Вернуть && !grab.crutch для второго клика для сброса захвата { grab.Stop(); } grab.crutch = false; grab.pullOnCoolDown = false; } if (Input.GetMouseButtonDown(0)) { grab.Hlabysh(); } }