예제 #1
0
    /// <summary>
    /// ミノの左右下移動処理 & ミノ列が揃っているかチェック
    /// </summary>
    void Mino_MoveingCheck()
    {
        //ミノの左右下移動が可能か判断する処理
        MA.Array_Comparison(Mino.NowMino, ref Stage, ref m_Yheight, ref m_XSidePos, m_SaveYheight, m_SaveXSidePos);

        //ミノをセットする状態ではないならこの処理をする
        if (GM.state != Game_Manager.State.ARRAYSET_MINO)
        {
            //ミノのゲームオブジェクトを移動
            Mino_move.Minos_Move(MINOs, m_Yheight, m_XSidePos, ref m_SaveYheight, ref m_SaveXSidePos);
        }
        //ミノを盤面にセットする処理
        if (MA.SetCheak(ref Stage, Mino, m_Yheight, m_XSidePos, SetMinoPos))
        {
            audioSource.PlayOneShot(Sound_Set);
            //セットする直前にTミノを回転させていたらTスピン判定をする
            if (Mino.MinoType == MINOTYPE_T && m_Rotation)
            {
                m_Tspin = true;
            }

            //親子関係の設定
            MINOs.transform.DetachChildren();
            Mino.UseMinoParentSet(SETMINOs.transform);
            //移動制限
            m_KeyInput = false;
            m_AutoMove = false;
            GHOSTMINOs.SetActive(false);
            //残存ミノの処理
            StartCoroutine(RemainMino_Check());
        }
        m_Rotation = false;
    }
예제 #2
0
    /// <summary>
    /// ミノを操作する前の初期化処理
    /// </summary>
    void Play_Start()
    {
        //初期化
        m_MoveTimeCount     = 0;
        m_AutoDownTimeCount = 0;
        m_GhostYheight      = 0;
        m_Yheight           = 0;
        m_XSidePos          = POINTER;
        m_SaveYheight       = m_Yheight;
        m_SaveXSidePos      = m_XSidePos;

        GHOSTMINOs.SetActive(true);
        m_KeyInput  = true;
        m_AutoMove  = true;
        m_Ghost     = true;
        m_Rrotation = false;
        m_Lrotation = false;
        m_Tspin     = false;
    }