private void OnTileOver(Vector3Int position, TileBase tile) { uiFeedbackController.Clear(); if (!ToolIsValid()) { return; } PuzzlePiece toolPiece = puzzlePieceMap[tool.tile.name]; PuzzlePiece targetPiece; if (puzzlePieceMap.TryGetValue(tile.name, out targetPiece)) { if (toolPiece == targetPiece) { return; } if (toolPiece.IsPlantableOn(targetPiece)) { if (CheckNeighbors(position, toolPiece)) { uiFeedbackController.ShowPlantable(position); return; } } uiFeedbackController.ShowUnplantable(position); } }
private void OnTileClicked(Vector3Int position, TileBase tile) { if (!ToolIsValid()) { return; } PuzzlePiece toolPiece = puzzlePieceMap[tool.tile.name]; PuzzlePiece targetPiece; if (puzzlePieceMap.TryGetValue(tile.name, out targetPiece)) { if (toolPiece.IsPlantableOn(targetPiece)) { if (CheckNeighbors(position, toolPiece)) { GameManager.Instance.PlaySoundClip("dirt_pick_01", "dirt_pick_02", "dirt_pick_04", "dirt_pick_05"); PaintTile(position); PropogateEffects(position, toolPiece); return; } } Debug.Log("Can't plant there"); GameManager.Instance.PlaySoundClip("err_misclick"); } else { Debug.Log("No target piece"); GameManager.Instance.PlaySoundClip("err_misclick"); } }