// 퇴장 연출용 블록을 만든다.
    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);
    }