public static PauseMenuModelView CreatePauseMenuModelView(Canvas canvas) { GameObject pauseMenuPrefab = Resources.Load<GameObject>("Prefabs/UI/PauseMenuPanel"); PauseMenuModelView modelView = UnityEngine.Object.Instantiate(pauseMenuPrefab, canvas.transform) .GetComponent<PauseMenuModelView>(); return modelView; }
private void HandleGamePause(object sender, EventArgs e) // обрабатываем нажатие Escape во время игры (в апдейте трека - пока прикрутил туда) { if (Time.timeScale != 0.0f) { pauseMV = UIFactory.CreatePauseMenuModelView(canvas); // создаем менюшку паузы Time.timeScale = 0.0f; pauseMV.OnResume += HandleResumeGame; // подписываем обработчик продолжения игры на событие OnResume pauseMV.OnExitToMainMenu += HandleExitToMenu; } else { HandleResumeGame(null, EventArgs.Empty); // позволяет отключить меню паузы, нажав esc еще раз } }