IEnumerator CreateStartBlock() { for (int y = 0; y < Constants.BlockMapHeight_InRange; y++) { BlockManager.Instance.CreateStartLine(Constants.BlockMapHeight_InRange, y); yield return(CoroutineManager.Wait(0.4f)); } eGameStep = E_GAME_STEP.Ready; }
void Start() { ScoreManager.Instance.OnScoreChange += HandleOnScoreChange; view.textGoalScore.text = ScoreManager.Instance.GetGoalScore().ToString(); OnChangeAP += HandleOnChangeAP; AP = UserDataManager.Instance.currStageInfos.nActPoint; view.textStage.text = (UserDataManager.Instance.currStage + 1).ToString(); BlockManager.Instance.gameScene = this; BlockManager.Instance.trHolder = view.trBlockHolder; EffectManager.Instance.trHolder = view.trBlockHolder; //BlockManager.Instance.CreateLine(13); //BlockManager.Instance.CreateBlock(E_BLOCK_TYPE.Blue, 3, 13); SetScore(); eGameStep = E_GAME_STEP.Starting; BlockManager.Instance.canFall = true; SoundManager.Instance.Play(new SoundPlayData("Game_BGM_1", E_AUDIO_GROUP_TYPE.InGame_BGM, E_AUDIO_CHANNEL_TYPE.BGM_Map, E_AUDIO_CLIP_GROUP.Bgm_Map, null, true, E_LOOP_TYPE.Loop, "Default", 3.0f, 4.0f, 0, 1, 0.0f)); SetupView(); selector.Init(this); BlockManager.Instance.BakeStartMap(); CoroutineManager.Instance.AddCoroutine(this, CreateStartBlock()); }
void Update() { if ((AP - 1) % 3 == 0) { view.spriteBG.SetSprite("Game_BackGround_4"); } else { view.spriteBG.SetSprite("Game_BackGround_3"); } if (eGameStep == E_GAME_STEP.Ready) { if (isReadyToStart()) { eGameStep = E_GAME_STEP.Pop; } } else if (eGameStep == E_GAME_STEP.Pop) { BlockManager.Instance.canFall = false; if (BlockManager.Instance.BlockPop()) { fWaitTimer = 0; eGameStep = E_GAME_STEP.Line; } else { BlockManager.Instance.canFall = true; eGameStep = E_GAME_STEP.WaitSelect; } } else if (eGameStep == E_GAME_STEP.Line) { BlockManager.Instance.BlockLinePop(); if (BlockManager.Instance.HasWaitedLinePop()) { fWaitTimer = 0; eGameStep = E_GAME_STEP.WaitLinePop; } else { fWaitTimer = 0; eGameStep = E_GAME_STEP.Item; } } else if (eGameStep == E_GAME_STEP.Item) { BlockManager.Instance.ItemPop(); eGameStep = E_GAME_STEP.WaitFill; } else if (eGameStep == E_GAME_STEP.WaitLinePop) { fWaitTimer += Time.deltaTime; if (fWaitTimer >= fWaitTimeForLinePop) { BlockManager.Instance.WaitedLinePop(); fWaitTimer = 0; eGameStep = E_GAME_STEP.Item; } } else if (eGameStep == E_GAME_STEP.WaitFill) { fWaitTimer += Time.deltaTime; if (fWaitTimer >= fWaitTimeForFill) { eGameStep = E_GAME_STEP.Fill; } } else if (eGameStep == E_GAME_STEP.Fill) { BlockManager.Instance.canFall = true; FillingAllBlock(); eGameStep = E_GAME_STEP.Ready; } else if (eGameStep == E_GAME_STEP.WaitSelect) { if (isReadyToStart()) { BlockManager.Instance.canFall = false; eGameStep = E_GAME_STEP.Select; fWaitTimer = 0.0f; } } else if (eGameStep == E_GAME_STEP.Select) { if (CanVictory()) { Victory(); eGameStep = E_GAME_STEP.End; } else if (CanDefeat()) { Defeat(); eGameStep = E_GAME_STEP.End; } //모든 블록 클릭가능 //클릭시 셀렉터.다음스텝 //if(셀렉터.스텝완료) //셀렉터.Select() //eGameStep == E_GAME_STEP.Ready } else if (eGameStep == E_GAME_STEP.SelectPop) { fWaitTimer += Time.deltaTime; if (fWaitTimer >= fWaitTimeForFill2) { BlockManager.Instance.canFall = true; eGameStep = E_GAME_STEP.Fill; } } }