/
KasatkinGV
/
CourseWork
Обзор
Документация
Войти
/
KasatkinGV
/
CourseWork
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
PlayerBlock.cs
66 строк
1 KB
KasatkinGV
upload files
11 июн 2025, 01:06
11 июн 2025, 01:06
3efd0d1
Код
Авторство
О чём код?
using UnityEngine; using System.Collections; public class PlayerBlock : MonoBehaviour { private bool isBlocked = false; public bool IsBlocked => isBlocked; private bool inDamageZone = false; public void SetInDamageZone(bool value) { inDamageZone = value; } private Coroutine blockCoroutine; private Animator animator; private void Awake() { animator = GetComponent<Animator>(); } private void Update() { if (PauseMenuController.IsPaused) return; if (Input.GetMouseButtonDown(1) && !isBlocked && !inDamageZone) { if (blockCoroutine != null) StopCoroutine(blockCoroutine); blockCoroutine = StartCoroutine(BlockRoutine()); } else if (Input.GetMouseButtonUp(1) && isBlocked) { CancelBlock(); } } private IEnumerator BlockRoutine() { isBlocked = true; animator.SetBool("IsBlocking", true); while (Input.GetMouseButton(1)) { yield return null; } CancelBlock(); } public void CancelBlock() { if (blockCoroutine != null) { StopCoroutine(blockCoroutine); blockCoroutine = null; } isBlocked = false; animator.SetBool("IsBlocking", false); } }