public void Initialize(CsvLevelData _data) { const int iNum = 9; Initialize(iNum, new int [iNum] { _data.number1, _data.number2, _data.number3, _data.number4, _data.number5, _data.number6, _data.number7, _data.number8, _data.number9 } ); }
void Update() { bool bInit = false; if (m_eStepPre != m_eStep) { m_eStepPre = m_eStep; bInit = true; } switch (m_eStep) { case STEP.START: if (bInit) { m_fTimer = 0.0f; m_UnderNumberRed.Initialize(m_DotManager.GetNumber(DefineProject.DOT_COLOR.RED)); m_UnderNumberBlue.Initialize(m_DotManager.GetNumber(DefineProject.DOT_COLOR.BLUE)); if (DataManagerEqual.Instance.m_iPlayLevel == 0) { DataManagerEqual.Instance.m_iPlayLevel = 1; } CsvLevelData level_data = DataManagerEqual.Instance.GetLevelData(DataManagerEqual.Instance.m_iPlayLevel); m_DotManager.Initialize(level_data); m_UnderNumberRed.SetNumber(m_DotManager.GetNumber(DefineProject.DOT_COLOR.RED)); m_UnderNumberBlue.SetNumber(m_DotManager.GetNumber(DefineProject.DOT_COLOR.BLUE)); m_lbHeaderLevel.text = string.Format("Level {0}", DataManagerEqual.Instance.m_iPlayLevel); } m_fTimer += Time.deltaTime; if (0.5f < m_fTimer) { m_eStep = STEP.SKIT; } break; case STEP.SKIT: if (bInit) { FadeInOut.Instance.Open(0.25f); } if (FadeInOut.Instance.IsIdle()) { ShowAd(true); m_eStep = STEP.IDLE; } break; case STEP.IDLE: if (bInit) { m_DotManager.ButtonInit(); m_DotManager.TriggerClearAll(); m_btnBack.TriggerClear(); m_btnHelp.TriggerClear(); } if (m_DotManager.ButtonPushed) { m_eStep = STEP.CLICK_DOT; } else if (m_btnBack.ButtonPushed) { m_eStep = STEP.BACK_SELECT; } else if (m_btnHelp.ButtonPushed) { m_eStep = STEP.HELP; } else { } // 最初の方だけ出る if (DataManagerEqual.Instance.m_iPlayLevel < 10) { if (m_telop.IsIdle()) { int iMessageIndex = UtilRand.GetRand(TELOP_MESSAGE_ARR.Length); m_telop.SetTelop(TELOP_MESSAGE_ARR [iMessageIndex]); } } break; case STEP.HELP: if (bInit) { #if UNITY_ANDROID m_NendAdIcon.Hide(); #endif m_Page = PrefabManager.Instance.MakeScript <HelpMain> ("prefab/RootHelp", m_goDispRoot); m_Page.PageStart(); } if (m_Page.IsEnd()) { m_eStep = STEP.IDLE; Destroy(m_Page.gameObject); #if UNITY_ANDROID m_NendAdIcon.Show(); #endif } break; case STEP.CLICK_DOT: if (bInit) { int iClickedDotIndex = m_DotManager.Index; m_DotManager.ChangeDotColor(iClickedDotIndex, 3, true); m_UnderNumberRed.SetNumber(m_DotManager.GetNumber(DefineProject.DOT_COLOR.RED)); m_UnderNumberBlue.SetNumber(m_DotManager.GetNumber(DefineProject.DOT_COLOR.BLUE)); } m_eStep = STEP.CLEAR_CHECK; break; case STEP.CLEAR_CHECK: if (m_DotManager.IsClear(ref m_iClearScore, new int[(int)DefineProject.DOT_COLOR.MAX] { 0, 3, 3, 0 })) { m_eStep = STEP.CLEAR; } else { m_eStep = STEP.IDLE; } break; case STEP.CLEAR: if (bInit) { // サーバー側で設定した回数で表示される NendAdInterstitial.Instance.Show(DefineProject.NEND_AD_INTER_SPOT_ID); DataManagerEqual.Instance.SetStageStatus(DataManagerEqual.Instance.m_iPlayLevel, DefineProject.STAGE_STATUS.CLEARED); if (DataManagerEqual.Instance.GetStageStatus(DataManagerEqual.Instance.m_iPlayLevel + 1) == DefineProject.STAGE_STATUS.NONE) { DataManagerEqual.Instance.SetStageStatus(DataManagerEqual.Instance.m_iPlayLevel + 1, (DefineProject.STAGE_STATUS.NO_PLAY)); } m_ClearDialog.gameObject.SetActive(true); TweenAlphaAll(m_ClearDialog.gameObject, 0.0f, 0.0f); TweenAlphaAll(m_ClearDialog.gameObject, 0.5f, 1.0f); m_ClearDialog.Initialize(DataManagerEqual.Instance.m_iPlayLevel, m_iClearScore); m_btnBack.TriggerClear(); ShowAd(false); } if (m_ClearDialog.IsNext()) { m_eStep = STEP.NEXT; TweenAlphaAll(m_ClearDialog.gameObject, 0.5f, 0.0f); } if (m_btnBack.ButtonPushed) { m_eStep = STEP.BACK_SELECT; } break; case STEP.NEXT: if (bInit) { DataManagerEqual.Instance.m_iPlayLevel += 1; m_eStep = STEP.START; } break; case STEP.BACK_SELECT: if (bInit) { ShowAd(false); FadeInOut.Instance.Close(0.25f); } if (FadeInOut.Instance.IsIdle()) { SceneManager.LoadScene("select"); } break; case STEP.MAX: default: break; } }