Esempio n. 1
0
    /// <summary>
    /// ブロックの色を返却
    /// </summary>
    /// <returns></returns>
    public BlockColor?GetBlockColor(DataBase.COLOR color)
    {
        BlockColor?ret = null;

        switch (color)
        {
        case DataBase.COLOR.RED:
            ret = _1pBlockColor;
            break;

        case DataBase.COLOR.BLUE:
            ret = _2pBlockColor;
            break;

        case DataBase.COLOR.GREEN:
            ret = _3pBlockColor;
            break;

        case DataBase.COLOR.YELLOW:
            ret = _4pBlockColor;
            break;

        default:
            break;
        }

        return(ret);
    }
Esempio n. 2
0
    Color ConvertColor(DataBase.COLOR cr)
    {
        switch (cr)
        {
        case DataBase.COLOR.RED: return(Color.red);

        case DataBase.COLOR.BLUE: return(Color.blue);

        case DataBase.COLOR.GREEN: return(Color.green);

        case DataBase.COLOR.YELLOW: return(Color.yellow);
        }
        return(Color.white);
    }
Esempio n. 3
0
    /// <summary>
    /// 指定色のグリッドエリアの落下を開始
    /// ※RigitBodyのFreezePosition(y)を解除
    /// </summary>
    /// <param name="color"></param>
    public void StartFall(DataBase.COLOR color)
    {
        List <Grid> list = null;

        //  判定するリストが何色か判定
        switch (color)
        {
        case DataBase.COLOR.RED:
            list = reds;
            break;

        case DataBase.COLOR.BLUE:
            list = blues;
            break;

        case DataBase.COLOR.GREEN:
            list = greens;
            break;

        case DataBase.COLOR.YELLOW:
            list = yellows;
            break;
        }

        //  リストのnull判定
        if (list == null)
        {
            return;
        }

        //  落下処理
        foreach (var it in list)
        {
            Transform parent = it.transform.parent;
            TypeL     typeL  = parent.GetComponent <TypeL>();

            if (typeL)
            {
                //Positionのyのみ解除
                RigidbodyConstraints mask =
                    RigidbodyConstraints.FreezeRotation |
                    RigidbodyConstraints.FreezePositionX |
                    RigidbodyConstraints.FreezePositionZ;

                //マスクの割り当て
                typeL.SetConstraints(mask);
                return;
            }
        }
    }
Esempio n. 4
0
    /// <summary>
    /// 指定色のグリッドエリアに指定座標が含まれているか(侵入しているか)
    /// </summary>
    /// <param name="pos">判定座標</param>
    /// <param name="color">判定色</param>
    /// <returns>結果</returns>
    public bool CheckColorArea(Vector3 pos, DataBase.COLOR color)
    {
        List <Grid> list = null;

        //  判定するリストが何色か判定
        switch (color)
        {
        case DataBase.COLOR.RED:
            list = reds;
            break;

        case DataBase.COLOR.BLUE:
            list = blues;
            break;

        case DataBase.COLOR.GREEN:
            list = greens;
            break;

        case DataBase.COLOR.YELLOW:
            list = yellows;
            break;
        }

        //  リストのnull判定
        if (list == null)
        {
            return(false);
        }

        //  リストの中身の侵入チェック
        foreach (var it in list)
        {
            if (it.CheckIntrusion(pos))
            {
                isStepOnOnce[(int)color] = !typeLlist[(int)color].GetIsRevival();
                return(true);
            }
        }
        return(false);
    }
Esempio n. 5
0
    /// <summary>
    /// 選択色のグリッドを格納したリストをクリアする
    /// </summary>
    /// <param name="color">色</param>
    public void ClearList(DataBase.COLOR color)
    {
        switch (color)
        {
        case DataBase.COLOR.RED:
            reds.Clear();
            return;

        case DataBase.COLOR.BLUE:
            blues.Clear();
            return;

        case DataBase.COLOR.GREEN:
            greens.Clear();
            return;

        case DataBase.COLOR.YELLOW:
            yellows.Clear();
            return;
        }
    }
Esempio n. 6
0
    // Use this for initialization
    void Start()
    {
        //  create list instance!
        grids = new List <GameObject>();

        //  grids data!
        var gridChildren = GetComponentsInChildren <Grid>(true);

        //  add management list!
        foreach (var it in gridChildren)
        {
            grids.Add(it.gameObject);
        }

        //  get material!
        mat = GetComponent <MeshRenderer>().material;

        //  create collider instance!
        cols = new Collider[gridChildren.Length];

        //  loop index!
        int index = 0;

        //  get collider of children!
        foreach (var it in gridChildren)
        {
            cols[index++] = it.GetComponent <Collider>();
        }

        //  get Rigidbody!
        rb = GetComponent <Rigidbody>();

        //  set color!
        color = transform.GetChild(0).GetComponent <Grid>().color;

        //  reset pos!
        pos = this.transform.position;
    }
Esempio n. 7
0
 /// <summary>
 /// 色の設定
 /// </summary>
 /// <param name="color"></param>
 public void SetColor(DataBase.COLOR color)
 {
     this.color = color;
 }
Esempio n. 8
0
    public bool GetIsFall(DataBase.COLOR color)
    {
        //一度踏まれている状態 && 復活処理をしていなければ

        return(GetIsStepOnOnce(color) && !typeLlist[(int)color].GetIsRevival());
    }
Esempio n. 9
0
    private bool allChild = true;//非アクティブな子オブジェクトもGetComponentsInChildrenの対象にするか

    /// <summary>
    /// 一度踏まれているか
    /// </summary>
    /// <param name="color"></param>
    /// <returns></returns>
    private bool GetIsStepOnOnce(DataBase.COLOR color)
    {
        return(isStepOnOnce[(int)color]);
    }
Esempio n. 10
0
 /// <summary>
 /// isFallフラグのリセット
 /// </summary>
 /// <param name="color"></param>
 public void ResetIsFall(DataBase.COLOR color)
 {
     isStepOnOnce[(int)color] = false;
 }