void Mine(InventoryManager.Item itemSelected) { if (itemSelected == InventoryManager.Item.DYNAMITE) { if (Input.GetMouseButtonDown(0)) { if (!CheckIfAir(hoveredTile) && isInPlayerRange(getCentralizedVector(earthMap.CellToWorld(hoveredTile)), dynamiteRange)) { Vector3 playerPos = player.transform.position; Vector3 targetPos = earthMap.CellToWorld(hoveredTile); GameObject dynamite = Instantiate(dynamitePrefab, playerPos, Quaternion.identity); Explode dynamiteScript = dynamite.GetComponent <Explode>(); dynamiteScript.throwLocation = playerPos; dynamiteScript.targetLocation = targetPos; } } } else { if (mouseDown) { if (!CheckIfAir(hoveredTile)) { if (isInPlayerRange(getCentralizedVector(earthMap.CellToWorld(hoveredTile)), pickaxeRange)) { if (breakTime == 0) { breakTime = (itemSelected == InventoryManager.Item.PICKAXE) ? pickaxeBreakTime : drillBreakTime; } if (miningTile == hoveredTile) { if (breakTime > 0) { breakTime -= Time.deltaTime; SetMiningStage((itemSelected == InventoryManager.Item.PICKAXE) ? pickaxeBreakTime : drillBreakTime); } else { breakTime = 0; overlayMap.SetTile(miningTile, selector); DestroyTile(miningTile); } } else { breakTime = 0; miningTile = hoveredTile; } } } } } }
// Update is called once per frame void Update() { itemSelected = inventoryManager.itemSelected; SetSelector(); CheckMouse(); Build(); Mine(itemSelected); }