//Метод UpDate, только для ГУИ void OnGUI() { //Строки для отображения количества обоих видов жизней и неуязвимости GUI.Label(healthRect, health.ToString(), pointStyle); GUI.Label(infinityRect, infinity.ToString(), pointStyle); GUI.Label(immortalRect, immortal.ToString(), pointStyle); //Когда начинается игра, прячем текст GetReady if (isShowGetReady) { } else { getReady.enabled = false; } //Если игра закончилась if (callGameOver) { //Отображать текст GameOver gameOver.enabled = true; //Отображаются полосы со значениями очков, лучших очков, заработаных монеток GUI.Label(scoreRect, "Score: " + points.ToString(), pointStyleEnd); GUI.Label(bestScoreRect, "BestScore: " + bestPoints.ToString(), pointStyleEnd); GUI.Label(coinsRect, "Coins: " + coins.ToString(), pointStyleEnd); //Если левая кнопка мыши вверху(клик) if (Input.GetMouseButtonUp(0)) { //Возвращаем изначальные размеры всем име.щимся кнопкам buttonTry.pixelInset = new Rect(-screenWidth * 30 / 100, -screenHeight * 2 / 100, screenWidth * 12 / 100, screenWidth * 6 / 100); buttonAchievements.pixelInset = new Rect(screenWidth * 38 / 100, screenHeight * 30 / 100, screenWidth * 12 / 100, screenWidth * 6 / 100); buttonShop.pixelInset = new Rect(screenWidth * 38 / 100, screenHeight * 18 / 100, screenWidth * 12 / 100, screenWidth * 6 / 100); //Если координаты мыши совпали с координатами кнопки TryAgain if (buttonTry.HitTest(Input.mousePosition)) { //Включаем игру по новой, сохраняем лучшие значения очков Application.LoadLevel(0); callGameOver = false; PlayerPrefs.SetInt("bestPoints", bestPoints); PlayerPrefs.Save(); //Если координаты мыши совпали с координатами кнопки Achievements } else if (buttonAchievements.HitTest(Input.mousePosition)) { //Находим скрипт с достижениями aBar = FindObjectOfType <achieveBar>(); //Передаем позицию, в которую необходимо двигать меню достижений aBar.GetPosition(transform.position.x); //Передаем в скрипт, что необходимо двигать меню aBar.StartMoveAchiveBar(1); //Отключаем книпки Shop и Achievements EnableButtons(2); //Если координаты мыши совпали с координатами кнопки Shop, выполняем теже действия, которые //описаны выше, только для меню магазина } else if (buttonShop.HitTest(Input.mousePosition)) { callShop = FindObjectOfType <ShopMenu>(); callShop.GetShopPosition(callCharacter.transform.position.x); callShop.StartMoveShopMenu(1); EnableButtons(2); } //Если кнопка мыши внизу, и координаты мыши совпадают с координатами одной из кнопок, //то увеличиваем данную кнопку в размерах } else if (Input.GetMouseButtonDown(0) & buttonTry.HitTest(Input.mousePosition)) { buttonTry.pixelInset = new Rect(-screenWidth * 31 / 100, -screenHeight * 2 / 100, screenWidth * 13 / 100, screenWidth * 7 / 100); } else if (Input.GetMouseButtonDown(0) & buttonAchievements.HitTest(Input.mousePosition)) { buttonAchievements.pixelInset = new Rect(screenWidth * 37 / 100, screenHeight * 29 / 100, screenWidth * 13 / 100, screenWidth * 7 / 100); } else if (Input.GetMouseButtonDown(0) & buttonShop.HitTest(Input.mousePosition)) { buttonShop.pixelInset = new Rect(screenWidth * 37 / 100, screenHeight * 17 / 100, screenWidth * 13 / 100, screenWidth * 7 / 100); } } else { //Если кнопка мыши вверху, возвращаем размеру иконки бессмертия прежний размер. //Еще один обработчик нажатия, потому что выше обрабатывается нажатия по окончанию игры if (Input.GetMouseButtonUp(0)) { immortalIcon.pixelInset = new Rect(-screenWidth * 45 / 100, screenHeight * 17 / 100, screenWidth * 5 / 100, screenWidth * 4 / 100); //Если нажата кнопка мыши, и координаты мыши совпадают с координатами иконки бессмертия } else if (Input.GetMouseButtonDown(0) & immortalIcon.HitTest(Input.mousePosition)) { //Увеличиваем иконку в размерах immortalIcon.pixelInset = new Rect(-screenWidth * 46 / 100, screenHeight * 18 / 100, screenWidth * 6 / 100, screenWidth * 5 / 100); //Если у игрока имеется в запасе неуязвимость if (immortal > 0) { //Если он уязвим if (!isImmortal) { //Передаем в скрипт CharacterControll, что демон неуязвим callCharacter.immortalDemon = true; //Понижаем количество возможных неуязвимостей immortal -= 1; //Сохраняем количество возможных неуязвимостей PlayerPrefs.SetInt("immortal", immortal); PlayerPrefs.Save(); //Включаем неуязвимость для гуи, чтобы лишний раз не понижалась цифра возможных неуязвимостей isImmortal = true; } } } } //Отображение текущего количества очков if (isShowPoint) { GUI.Label(pointRect, points.ToString(), pointStyle); } //Обработка кнопки назад на мобильном устройстве, которая закрывает игру if (Input.GetKeyUp(KeyCode.Escape)) { Application.Quit(); } }