Exemple #1
0
    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;
                        }
                    }
                }
            }
        }
    }
Exemple #2
0
    // Update is called once per frame
    void Update()
    {
        itemSelected = inventoryManager.itemSelected;

        SetSelector();

        CheckMouse();

        Build();

        Mine(itemSelected);
    }