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; }
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++; }