コード例 #1
0
 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;
 }
コード例 #2
0
        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);
        }
コード例 #3
0
        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();
        }