//创建方块对象 public void SpawnNewPiece(int x, int y, CodeType type) { GameObject code = Instantiate(piecePrefabDict[type], NumToVector(x, y), Quaternion.identity); code.transform.parent = transform; CodePrefab codePrefab = code.GetComponent <CodePrefab>(); codePrefab.initPos(x, y, this, type); gridCodes[x, y] = codePrefab; }
//行单位填充空节点 private bool fillRow() { //用于判断是否全部填充 bool isNeed = true; for (int i = 0; i < Grid_H; i++) { for (int y = 0; y < Grid_V; y++) { //判断当前结点是否为空节点 if (gridCodes[i, y].getCodeType == CodeType.EMPTY) { isNeed = false; Destroy(gridCodes[i, y].gameObject); GameObject code = Instantiate(piecePrefabDict[CodeType.NORMAL], NumToVector(i, -1), Quaternion.identity); code.transform.parent = transform; CodePrefab codePrefab = code.GetComponent <CodePrefab>(); codePrefab.initPos(i, -1, this, CodeType.NORMAL); codePrefab.getColorComponent.setRangeSprite(); for (int c = y - 1; c >= 0; c--) { gridCodes[i, c].getMoveComponent.MoveToPos(i, c + 1, fillTime); gridCodes[i, c + 1] = gridCodes[i, c]; } codePrefab.getMoveComponent.MoveToPos(i, 0, fillTime); gridCodes[i, 0] = codePrefab; break; } } } return(isNeed); }