private void ReLoadScene() { // diff config m_fTargetRange = MusicGameHelper.GetRangeDifficulty(); m_fMusicSpeed = MusicGameHelper.GetSpeedDifficulty(); m_nAllowedErrorCount = MusicGameHelper.GetErrorDifficulty(); Debuger.Log("TargetRange: " + m_fTargetRange.ToString() + " MusicSpeed : " + m_fMusicSpeed.ToString() + " ErrorCount : " + m_nAllowedErrorCount); //state Block.SetActive(false); m_BackButton.enabled = true; m_MusicPlayer.Reset(); //start play m_MusicPlayer.SetMusicSpeed(m_fMusicSpeed); m_MusicPlayer.Play(); //m_GameOverPanel.gameObject.SetActive(false); m_nLifeRemain = m_nAllowedErrorCount; }
private void GameLose() { MusicGameHelper.ReportEvent(MusicGameHelper.MusicGameEventType.Lose); //m_GameStateLabel.text = "游戏失败"; Action <bool> fun = (res) => { if (res) { Replay(); WindowManager.Instance.HideWindow(WindowID.LosePanel); } else { WorldSceneDispatchController.Instance.ExecuteExitNodeGame(); //StageManager.Instance.ChangeState(GameStateType.SelectSceneState); } }; WindowManager.Instance.OpenWindow(WindowID.LosePanel, fun); }
void Update() { if (m_MusicPlayer == null) { return; } m_MusicPlayer.Update(); // Check Input if (Input.GetMouseButtonDown(0)) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if (Physics.Raycast(ray, out hit, 200f)) { var monster = hit.transform.GetComponent <MusicGameTool_MonsterController>(); if (monster != null) { int noteID = monster.OnClicked(); //Debug.Log("Click Monster : " + noteID.ToString()); if (!m_IsAutoMusic) { PlayMusicAudio(noteID); } //Check Click if (CheckClick(hit.transform.position.y, noteID)) //Success { if (m_IsAutoMusic && !m_IsGuide) { PlayMusicAudio(noteID); } monster.PlayAnim(true); // GUIDE if (m_IsGuide) { GuideSucess(); return; } // User Talent Report m_nCorrectCount++; m_nMissCount = 0; if (m_nCorrectCount >= 5) { MusicGameHelper.ReportEvent(MusicGameHelper.MusicGameEventType.Correct5); } else if (m_nCorrectCount >= 3) { MusicGameHelper.ReportEvent(MusicGameHelper.MusicGameEventType.Correct3); } else { MusicGameHelper.ReportEvent(MusicGameHelper.MusicGameEventType.Correct); } } else //Fail { monster.PlayAnim(false); // GUIDE if (m_IsGuide) { GuideFail(); return; } m_nLifeRemain--; if (m_nLifeRemain <= 0) { GameEndLogic(); } // User Talent Report m_nMissCount++; m_nCorrectCount = 0; if (m_nMissCount >= 3) { MusicGameHelper.ReportEvent(MusicGameHelper.MusicGameEventType.Wrong3); } else if (m_nMissCount >= 2) { MusicGameHelper.ReportEvent(MusicGameHelper.MusicGameEventType.Wrong2); } else { MusicGameHelper.ReportEvent(MusicGameHelper.MusicGameEventType.Wrong); } } } } } // Check Star Pos for (int i = 0; i < m_lstStarElement.Count; i++) { // GUIDE Check Points if (m_IsGuide && m_lstStarElement.Count > 0) { if (m_lstStarElement[0].m_Root.transform.position.y < -5 && !m_IsGuideShowPointing) { m_lstStarElement[0].m_Controller.PauseFall(); m_MusicPlayer.PauseGuide(); m_IsGuideShowPointing = true; m_BackgroundMaskController.SetActive(true); m_BackgroundMaskController.SetMaskPos(m_lstStarElement[0].m_Root.transform.position); m_lstStarElement[0].m_Controller.Shinging(); PlayHintAudio(HINTAUDIO_REACH, (a) => { m_ThrowGuideSprite.SetActive(true); PlayHintAudio(HINTAUDIO_POINTMONSTER, (b) => { m_ThrowGuideSprite.SetActive(false); Block.SetActive(false); }); }); } else if (m_lstStarElement[0].m_Root.transform.position.y < 0 && !m_IsGuideShowHint) { m_IsGuideShowHint = true; m_lstStarElement[0].m_Controller.PauseFall(); m_MusicPlayer.PauseGuide(); m_BackgroundMaskController.SetActive(true); m_BackgroundMaskController.SetMaskPos(m_lstStarElement[0].m_Root.transform.position); m_lstStarElement[0].m_Controller.Shinging(); PlayHintAudio(HINTAUDIO_FALLING, (a) => { m_lstStarElement[0].m_Controller.StopShinging(); m_BackgroundMaskController.SetActive(false); m_lstStarElement[0].m_Controller.ResumeFall(); m_MusicPlayer.ResumeGuide(); }); } } if (m_lstStarElement[i].m_Root.transform.position.y < -7) { StarElementStruct star = m_lstStarElement[i]; star.m_Controller.StopFall(() => { m_poolStarElement.Store(star); // GUIDE if (m_IsGuide) { return; } m_nLifeRemain--; if (m_nLifeRemain <= 0) { GameEndLogic(); } }); m_lstStarElement.RemoveAt(i); // GUIDE if (m_IsGuide) { return; } // User Talent Report m_nMissCount++; m_nCorrectCount = 0; if (m_nMissCount >= 3) { MusicGameHelper.ReportEvent(MusicGameHelper.MusicGameEventType.Wrong3); } else if (m_nMissCount >= 2) { MusicGameHelper.ReportEvent(MusicGameHelper.MusicGameEventType.Wrong2); } else { MusicGameHelper.ReportEvent(MusicGameHelper.MusicGameEventType.Wrong); } } } // Update Life UI if (m_nLifeRemain >= 0) { //m_LifeRemainLabel.text = m_nLifeRemain.ToString(); if (m_nLifeRemain >= 10) { m_LifeRemainTen.sprite = m_SpritesLifeNum[m_nLifeRemain / 10 % 10]; } else { m_LifeRemainTen.sprite = m_SpritesLifeNum[0]; } m_LifeRemainOne.sprite = m_SpritesLifeNum[m_nLifeRemain % 10]; } // Test //testMethod(); }