//해당 퍼즐을 맵 위에 놓았을 때. // public void PutPuzzleOnMap(PuzzleController tile) { //현재 위치에 퍼즐을 놓을 수 있는가? // if (mapAssistance.IsPossibleToPutOn()) { if (tile.tileType.IsSameTile(TileData.BlockType.FillBlocks)) { int side = Random.Range(0, 2); mapAssistance.FillLines(tile, side); } SoundManager.GetInstance().PlaySound(Define.SoundType.PutTileOnBoard); //퍼즐을 배치한 횟수 추가. // MissionManager.GetInstance().AddArrangeCount(); //미션 갱신된 것이 있는지 체크. // MissionManager.GetInstance().CheckClearedMission(); //더블 보너스가 있다면, 턴 차감. // scoreAssistance.SubDoubleBonusCount(); //현재 위치에 퍼즐을 놓는다. // mapAssistance.PutPuzzleOnMap(tile); //지울 수 있는 타일이 있는지 모든 타일을 계산. // mapAssistance.CalculateAllClearTiles(); //지울수 있는 타일이 맵 상에 있는가? // if (mapAssistance.HasClearTilesOnMap()) { //지울 수 있는 모든 타일들을 지운다. // StartCoroutine(mapAssistance.ClearTiles((ClearTileData clearTileData) => { //모든 타일을 재갱신하고 강조 타일도 초기화한다. // mapAssistance.UpdateMap(); //클리어한 타일들을 바탕으로 스킬사용이 가능한 동물이 있는지 체크한다. // int count = petAssistance.CheckAllPetsCanUseSkill(clearTileData); if (activeSkillGuideTutorial && count > 0) { StartSkillGuideTutorial(); } //모든 지워져야 할 타일을 지운 후. // //지워진 데이터를 맵에 반영시키고, // mapAssistance.UpdateMap(); //새로운 퍼즐 조각들을 배치시킨다. // StartCoroutine(mapAssistance.CallInPuzzleTiles(null)); AddCombo(); })); } else { //모든 타일을 재갱신하고 강조 타일도 초기화한다. // mapAssistance.UpdateMap(); //새로운 퍼즐 조각들을 배치시킨다. // StartCoroutine(mapAssistance.CallInPuzzleTiles(null)); nowKeepComboCount++; if (nowKeepComboCount > keepComboCount) { SetCombo(0); } } } else { //없다면, 해당 타일을 원래 대기라인으로 돌려놓는다. // mapAssistance.PuzzleReturntoReadyLine(tile); } }