Пример #1
0
 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;
 }
Пример #2
0
    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());
    }
Пример #3
0
    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;
            }
        }
    }