コード例 #1
0
    public void BlockInput(BlockScript blockScript, int ColorIndex, Vector3 lastPos, Vector3[] blockPos)
    {
        for (int i = 0; i < blockPos.Length; i++)
        {
            Vector3 SumPos = blockPos[i] + lastPos;
            if (!IsRange((int)SumPos.x, (int)SumPos.y))
            {
                AudioSource.clip = Mistake_Input; AudioSource.Play(); return;
            }
            if (!IsPossible((int)SumPos.x, (int)SumPos.y))
            {
                AudioSource.clip = Mistake_Input; AudioSource.Play(); return;
            }
        }
        for (int i = 0; i < blockPos.Length; i++)
        {
            Vector3 SumPos = blockPos[i] + lastPos;
            Array[(int)SumPos.x, (int)SumPos.y] = ColorIndex;
            GetCell((int)SumPos.x, (int)SumPos.y).GetComponent <SpriteRenderer>().color = blockScript.transform.GetComponentInChildren <SpriteRenderer>().color;
        }
        count++;
        blockScript.ForceDestroy();
        tempScore += blockPos.Length;
        LineLogic();
        if (!isLineClear)
        {
            AudioSource.clip = Block_Input;
            AudioSource.Play();
        }
        if (isLineClear)
        {
            isLineClear = false;
        }

        Invoke("CheckEnd", 0.07f);
        LevelController.score += blockPos.Length;
    }
コード例 #2
0
 public void BlockInput(BlockScript blockScript, int ColorIndex, Vector3 lastPos, Vector3[] blockPos)
 {
     for (int i = 0; i < blockPos.Length; i++)
     {
         Vector3 SumPos = blockPos[i] + lastPos;
         if (!InRange((int)SumPos.x, (int)SumPos.y))
         {
             return;
         }
         if (!InPossible((int)SumPos.x, (int)SumPos.y))
         {
             return;
         }
     }
     for (int i = 0; i < blockPos.Length; i++)
     {
         Vector3 SumPos = blockPos[i] + lastPos;
         Array[(int)SumPos.x, (int)SumPos.y] = ColorIndex;
         GetCell((int)SumPos.x, (int)SumPos.y).GetComponent <SpriteRenderer>().color = ShapeColors[ColorIndex];
     }
     blockScript.ForceDestroy();
     LineLogic();
     count++;
 }