public void EraseBlock() { int selected_indexer_data = selected_indexer.data; if (selected_indexer_data == BlockNumber.character || selected_indexer_data == BlockNumber.upperCharacter) { character_count--; int style = selected_indexer.blocks[selected_indexer.blocks.Count - 1].style; characterButtons[style].interactable = true; } else if ((selected_indexer_data >= BlockNumber.parfaitA && selected_indexer_data <= BlockNumber.parfaitD) || (selected_indexer_data >= BlockNumber.upperParfaitA && selected_indexer_data <= BlockNumber.upperParfaitD)) { parfait_count--; int parfait_num = selected_indexer_data % 10 - 1; parfaitButtons[parfait_num].interactable = true; } selected_indexer.EraseBlock(); selected_indexer.CheckPlaceableIndex(block_floor: placeableFloor); editPopup.SetActive(false); StartCoroutine(ActiveClickTimer()); if (CheckCondition().Item1&& CheckCondition().Item2) { completeButton.interactable = true; } else { completeButton.interactable = false; } checkListPopup.SetCheckList(character_count, parfait_count); }
void MakeBlock(Ray ray) { if (Physics.Raycast(ray, out hit, 1000)) { if (hit.transform.CompareTag("Indexer")) { Indexer indexer = hit.transform.GetComponent <Indexer>(); if (indexer.placeable) { int blockNumber_modification = blockNumber; //blocknumber 조정 : cracker , parfait , cloud , obstacle , character if (indexer.Floor == 1) { if (blockNumber >= BlockNumber.cloudUp && blockNumber <= BlockNumber.cracker_2) { blockNumber_modification += 10; } } else if (indexer.Floor == 2) { blockNumber_modification += 10; } Debug.Log("make block number : " + blockNumber_modification); Block newBlock = blockFactory.EditorCreateBlock(blockNumber_modification, styleNumber, new Vector3(indexer.X, indexer.Z)); indexer.AddBlock(newBlock); indexer.CheckPlaceableIndex(block_floor: placeableFloor); newBlock.transform.SetParent(holders[indexer.Floor].transform); if (blockNumber >= BlockNumber.parfaitA && blockNumber <= BlockNumber.parfaitD) { parfait_count++; selectedButton.interactable = false; blockNumber = 999;//더 이상 배치할 수 없음 } if (blockNumber == BlockNumber.character) { character_count++; selectedButton.interactable = false; blockNumber = 999;//더 이상 배치할 수 없음 if (styleNumber == 0) { positionA = new Vector3(indexer.X + 1, indexer.Floor, indexer.Z + 1); } else { positionB = new Vector3(indexer.X + 1, indexer.Floor, indexer.Z + 1); } } if (moveBlock)//move block { moveBlock = false; blockNumber = temp_blockNumber; styleNumber = temp_styleNumber; Update_Placeable_Floor(blockNumber); StartCoroutine(ActiveClickTimer()); } if (CheckCondition().Item1&& CheckCondition().Item2) { completeButton.interactable = true; } else { completeButton.interactable = false; } checkListPopup.SetCheckList(character_count, parfait_count); } } } }