IEnumerator UpdateNewRoomCoroutine() { Resources.UnloadUnusedAssets(); Cursor.visible = false; //GenericLog.Log("UPDATE NEW ROOM COROUTINE"); m_isSceneLoaded = false; m_isClicEnabled = false; //m_loadingIcon.SetActive(true); if (m_SEGMentEngine.isRoomChangeImmediate()) { m_UIManager.SetFadeInOutTime(0.0f); } else { m_UIManager.SetFadeInOutTime(m_sceneFadeInOutTime); } PreventClickOnStateObject(); m_UIManager.SceneFadeOut(); List <string> transitionSoundsToPlay = m_SEGMentEngine.PopTransitionSounds(); foreach (string soundToPlay in transitionSoundsToPlay) { AudioManager.instance.PlaySoundByURL(SEGMentPath.instance.GetSoundPath(soundToPlay)); } while (!m_UIManager.IsSceneFadedOut()) { yield return(null); } ZoomOnClic zoomManager = GetComponent <ZoomOnClic>(); if (zoomManager != null) { zoomManager.reinit(); } //Camera.main.orthographicSize = m_initialOrthoSize; StartCoroutine("UpdateSceneCoroutine"); while (!m_isSceneLoaded) { yield return(null); } UpdateUI(); //m_loadingIcon.SetActive(false); m_UIManager.SceneFadeIn(); Cursor.SetCursor(null, Vector2.zero, CursorMode.Auto); Cursor.visible = true; m_isClicEnabled = true; }
void Update() { if (!m_initIsDone) { return; } m_SEGMentEngine.Update(Time.deltaTime); /*if (Input.GetKeyDown(KeyCode.R)) { * foreach (KeyValuePair<int, GameObject> currentDictionnaryItem in m_sceneItemsBySEGMentIndex) { * PuzzleBehavior currentBehavior = currentDictionnaryItem.Value.GetComponent<PuzzleBehavior>(); * * if (currentBehavior != null) { * if (currentBehavior.IsDragDropEnabled()) { * currentBehavior.RandomizePos(); * } * } * } * * }*/ if (Input.GetKeyDown(KeyCode.Space)) { LogPlayerCurrentInformation(); } /*else if (Input.GetKeyDown(KeyCode.Escape)) { * MetricLogger.instance.Log("SEGMENT_RUNNING", false); * Application.Quit(); * #if UNITY_EDITOR * UnityEditor.EditorApplication.isPlaying = false; #endif*/ // m_SEGMentEngine.UserAnswer("Solution"); //} List <PLAYER_MODIF_INFO> playerChanges = m_SEGMentEngine.PopPlayerModifInfos(); foreach (PLAYER_MODIF_INFO currentInfo in playerChanges) { if (currentInfo == PLAYER_MODIF_INFO.PLAYER_MOVED) { StartCoroutine("UpdateNewRoomCoroutine"); } } if (m_SEGMentEngine.IsDiagramFileModifiedSinceLoad()) { m_UIManager.DiagramFileHasBeenModified(); } ZoomOnClic zoomManager = GetComponent <ZoomOnClic>(); if (zoomManager != null) { if (zoomManager.IsZooming()) { m_lastZoomTime = Time.fixedTime; } } if (Input.GetMouseButtonUp(0)) { UpdatePuzzleChecker(m_roomID); if (ComputePuzzleCheck(m_roomID)) { m_SEGMentEngine.PuzzleSolutionValidated(); //Debug.Log("YEAHHHHHHH !"); } } if (m_isSceneLoaded) { if (CheckStateObjectSolutions()) { m_SEGMentEngine.ObjectStateSolutionValidated(); PreventClickOnStateObject(); m_objectStateToSolutionCheck.Clear(); } } }