private void OnTriggerStay2D(Collider2D note) { //Debug.Log(TSW); if (!ButtonPressed && TSW == TileStateWord.ButtonBlocked) { TSW = TileStateWord.ButtonUnblocked; //снятие блокировки } if (TSW == TileStateWord.ButtonUnblocked && ButtonPressed) //при разблокированной и нажатой кнопке активируем тайл { TSW = TileStateWord.TilePressed; } if (note.gameObject.CompareTag("Slider")) //блок обработки слайдеров { //Debug.Log("72"); if (TSW < TileStateWord.TilePressed)//если слайдер не нажат { //Debug.Log("75"); CurrSlideTime -= Time.deltaTime; //даем игроку время на нажатие слайдера if (CurrSlideTime <= 0) //если оно истекает - промах { //Debug.Log("79"); TSW = TileStateWord.NotActive; LevelController.LC.NoteMissed(note); } } else { //Debug.Log("86"); TSW = TileStateWord.SliderPressed; // когда игрок зажал слайдер - начинаем это отслеживать }; if (TSW == TileStateWord.SliderPressed && !ButtonPressed) //если слайдер отпущен раньше времени - промах { //в будущем нужно дать возможность отпустить слайдер раньше времени, ухудшая показатель точности //Debug.Log("91"); TSW = TileStateWord.NotActive; LevelController.LC.SliderUnpressed(note); } } if (note.gameObject.CompareTag("Note"))//блок обработки нот { if (TSW == TileStateWord.TilePressed) { //Debug.Log("103"); TSW = TileStateWord.NotActive; LevelController.LC.NotePressed(note); } } }
private void OnTriggerEnter2D(Collider2D note) { if (ButtonPressed) //если во время "входа" плашки кнопка нажата { TSW = TileStateWord.ButtonBlocked; //то она блокируется до ее отжатия и повторного нажатия }//крч не выйдет просто зажать все кнопки и выиграть else { TSW = TileStateWord.ButtonUnblocked; } if (note.gameObject.CompareTag("Slider")) { CurrSlideTime = LevelController.LC.SliderTimeDelay; //Debug.Log(CurrSlideTime);//сброс переменных про слайдерам } if (note.gameObject.CompareTag("End")) { LevelController.LC.EndMap(); } }