// 퇴장 연출용 블록을 만든다. public LeaveBlockControl createLeaveBlock(BlockControl block) { GameObject game_object = Instantiate(this.blockPrefab) as GameObject; LeaveBlockControl leave_block = game_object.GetComponent <LeaveBlockControl>(); // leave_block.leave_block_root = this; leave_block.i_pos = block.i_pos; leave_block.transform.position = block.transform.position; leave_block.getModelsRoot().transform.localScale = block.getModelsRoot().transform.localScale; leave_block.getModelsRoot().transform.localPosition = block.getModelsRoot().transform.localPosition; leave_block.getModelsRoot().transform.localRotation = block.getModelsRoot().transform.localRotation; leave_block.setColor(block.color); if (block.color == Block.COLOR.NECO) { leave_block.getNecoMotion()["00_Idle"].time = block.getNekoMotion()["00_Idle"].time; } for (int i = 0; i < (int)Block.DIR4.NUM; i++) { Block.DIR4 dir = (Block.DIR4)i; leave_block.setConnectedBlock(dir, block.getConnectedBlock(dir)); } // 하이어라키 뷰에서 위치를 확인하기 쉽게 블록 좌표를 이름에 붙여 둔다. leave_block.name = "leave_block(" + block.i_pos.x.ToString() + "," + block.i_pos.y.ToString() + ")"; // 섬(같은 색 블록이 서로 이웃한 덩어리) 블록이 // 전부 갖춰질 때까지 기다린다 . this.waiting_blocks.Add(leave_block); return(leave_block); }