public void powerUpPositioned() { bombInput.OnCellSelected -= onOverCellChanged; Cell cellSelected = cellsManager.getCellUnderPoint(bombGO.transform.position); if (AudioManager.GetInstance()) { AudioManager.GetInstance().Stop("bomb"); } if (cellSelected != null) { if (cellSelected.contentType == Piece.EType.PIECE && cellSelected.occupied) { if (canUse) { StartCoroutine(bombAnimation.startSameColorSearchAnimation(cellSelected)); DestroyImmediate(bombGO); bombInput.OnDrop -= powerUpPositioned; bombInput.enabled = false; HighLightManager.GetInstance().turnOffHighLights(HighLightManager.EHighLightType.BOMB_POWERUP); HighLightManager.GetInstance().turnOffHighLights(HighLightManager.EHighLightType.BOMB_SPECIFIC_COLOR); OnComplete(); } else { onCompletedNoGems(); } } else { cancel(); } } else { cancel(); } }
public void powerUpPositioned() { Cell cellSelected = cellsManager.getCellUnderPoint(destroyGO.transform.position); if (AudioManager.GetInstance()) { AudioManager.GetInstance().Stop("ray"); } if (cellSelected != null) { if (cellSelected.contentType == Piece.EType.PIECE && cellSelected.occupied) { if (canUse) { StartCoroutine(destroyAnim.destroyColorSearchAnimation(cellSelected)); DestroyImmediate(destroyGO); bombInput.OnDrop -= powerUpPositioned; bombInput.enabled = false; HighLightManager.GetInstance().turnOffHighLights(HighLightManager.EHighLightType.DESTROY_POWERUP); OnComplete(); } else { onCompletedNoGems(); } } else { cancel(); } } else { cancel(); } }
public void powerUpPositioned() { Cell cellSelected = cellsManager.getCellUnderPoint(powerUpGO.transform.position); if (cellSelected != null && canActivate) { if (cellSelected.cellType != Cell.EType.EMPTY_VISIBLE_CELL && cellSelected.cellType != Cell.EType.EMPTY) { if (canUse) { //HACE gameManager.useHintWord(true); DestroyImmediate(powerUpGO); powerUpInput.OnDrop -= powerUpPositioned; powerUpInput.enabled = false; HighLightManager.GetInstance().turnOffHighLights(HighLightManager.EHighLightType.WORD_HINT); if (AudioManager.GetInstance()) { AudioManager.GetInstance().Stop("helpPositonated"); AudioManager.GetInstance().Play("helpPositonated"); } OnComplete(); } else { onCompletedNoGems(); } } else { cancel(); } } else { cancel(); } }
void OnDrag(DragGesture gesture) { //Solo se ejecuta una vez por frame (multifinger puede llamarlo mas de una vez) if (lastTimeDraggedFrame == Time.frameCount || !enabled) { return; } lastTimeDraggedFrame = Time.frameCount; switch (gesture.Phase) { case (ContinuousGesturePhase.Started): { if (currentSelected != null) { activateRayCasters(false); somethingDragged = true; Vector3 posOverFinger = Camera.main.ScreenToWorldPoint(new Vector3(gesture.Position.x, gesture.Position.y, 0)); posOverFinger.z = currentSelected.transform.position.z; posOverFinger += offsetPositionOverFinger; moveTo(currentSelected, posOverFinger, pieceSpeed); //currentSelected.transform.DOScale(selectedScale,.1f).SetId("InputBlock_SelectedScale"); isOnPlayer(true); } } break; case (ContinuousGesturePhase.Updated): { if (currentSelected != null) { Vector3 posOverFinger = Camera.main.ScreenToWorldPoint(new Vector3(gesture.Position.x, gesture.Position.y, 0)); posOverFinger.z = currentSelected.transform.position.z; posOverFinger += offsetPositionOverFinger; moveTo(currentSelected, posOverFinger, pieceSpeed); } } break; case (ContinuousGesturePhase.Ended): { if (currentSelected) { activateRayCasters(true); Cell cell = cellsManager.getCellUnderPoint(currentSelected.transform.position); if (cell != null) { if (cell.cellType != Cell.EType.EMPTY && cell.cellType != Cell.EType.OBSTACLE_LETTER && !isWildCard(cell)) { if (!canUse) { returnSelectedToInitialState(delaySpeed); completePowerUpNoGems(); } else { insertWildcard(cellsManager.getCellUnderPoint(currentSelected.transform.position)); completePowerUp(true); destroySelected(); } } else { if (cell.cellType == Cell.EType.OBSTACLE_LETTER && OnPowerupOverObstacleLetter != null) { OnPowerupOverObstacleLetter(); } returnSelectedToInitialState(delaySpeed); completePowerUp(false); } } else { returnSelectedToInitialState(delaySpeed); completePowerUp(false); } DOTween.Kill("InputBlock_Dragging", false); } } break; } }
void OnDrag(DragGesture gesture) { //Solo se ejecuta una vez por frame (multifinger puede llamarlo mas de una vez) if (!allowInput || lastTimeDraggedFrame == Time.frameCount) { return; } lastTimeDraggedFrame = Time.frameCount; switch (gesture.Phase) { case (ContinuousGesturePhase.Started): { if (currentSelected != null) { activateRayCasters(false); somethingDragged = true; Vector3 posOverFinger = Camera.main.ScreenToWorldPoint(new Vector3(gesture.Position.x, gesture.Position.y, 0)); posOverFinger.z = currentSelected.transform.position.z; posOverFinger += offsetPositionOverFinger; moveTo(currentSelected, posOverFinger, pieceSpeed); isOnPlayer(true); } } break; case (ContinuousGesturePhase.Updated): { if (currentSelected != null) { Vector3 posOverFinger = Camera.main.ScreenToWorldPoint(new Vector3(gesture.Position.x, gesture.Position.y, 0)); posOverFinger.z = currentSelected.transform.position.z; posOverFinger += offsetPositionOverFinger; moveTo(currentSelected, posOverFinger, pieceSpeed); if (OnCellSelected != null) { Cell cellSelected = cellsManager.getCellUnderPoint(currentSelected.transform.position); if (cellSelected != null) { if (cellSelected.content != null) { if (cellSelected.contentColor != Piece.EColor.LETTER_OBSTACLE && cellSelected.contentColor != Piece.EColor.NONE) { //if (selectedCellColor != null) if (selectedCellColor != Piece.EColor.NONE) { if (selectedCellColor != cellSelected.contentColor) { OnCellSelected(cellSelected); } } else { selectedCellColor = cellSelected.contentColor; OnCellSelected(cellSelected); } } else { OnCellSelected(null); } } else { OnCellSelected(null); } } } } } break; case (ContinuousGesturePhase.Ended): { if (currentSelected) { activateRayCasters(true); if (OnDrop != null) { OnDrop(); } reset(); } } break; } }