Пример #1
0
 private void HoldToMineProgress()
 {
     holdToMineTimerElapsed += Time.deltaTime;
     if (holdToMineTimerElapsed >= holdToMineTimer)
     {
         crystal++;
         Destroy(itemBeingPickedUp.gameObject);
         itemBeingPickedUp = null;
         mineSlider.gameObject.SetActive(false);
     }
 }
Пример #2
0
    private void SelectItemBeingPickedUpFromRay()
    {
        Ray ray = camera.ViewportPointToRay(Vector3.one / 2f);

        Debug.DrawRay(ray.origin, ray.direction * 4f, Color.red);

        RaycastHit hitInfo;

        if (Physics.Raycast(ray, out hitInfo, 4f))
        {
            var hitItem = hitInfo.collider.GetComponent <ResorcePickup>();

            if (hitItem == null)
            {
                itemBeingPickedUp = null;
            }
            else if (hitItem != null && hitItem != itemBeingPickedUp)
            {
                itemBeingPickedUp = hitItem;

                if (itemBeingPickedUp.tag != "Crystal" && itemBeingPickedUp.tag != "Water" && itemBeingPickedUp.tag != "CraftingTable")
                {
                    pickUpMessage.text = "(E) Pick Up: " + itemBeingPickedUp.gameObject.name;
                }
                else if (itemBeingPickedUp.tag == "Crystal")
                {
                    if (pickaxeEquipped == true)
                    {
                        pickUpMessage.text = "(Hold LMB) Mine Crystal";
                    }
                    else
                    {
                        pickUpMessage.text = "Needs a Pickaxe";
                    }
                }
                else if (itemBeingPickedUp.tag == "Water")
                {
                    pickUpMessage.text = "(Hold E) Drink Water";
                }
                else if (itemBeingPickedUp.tag == "CraftingTable")
                {
                    pickUpMessage.text = "(E) Open Crafting Menu";
                }
            }
        }
        else
        {
            itemBeingPickedUp = null;
        }
    }
Пример #3
0
    void Update()
    {
        if (crafting.pickaxeCrafted == false)
        {
            pickaxeIcon.SetActive(false);
        }
        else
        {
            pickaxeIcon.SetActive(true);
        }

        #region UI Stuff
        woodText.text    = wood.ToString();
        stoneText.text   = stone.ToString();
        foodText.text    = food.ToString();
        crystalText.text = crystal.ToString();

        mineBar.maxValue = holdToMineTimer;
        mineBar.value    = holdToMineTimerElapsed;



        if (wood > 999)
        {
            wood = 999;
        }

        if (stone > 999)
        {
            stone = 999;
        }

        if (food > 999)
        {
            food = 999;
        }

        if (crystal > 999)
        {
            crystal = 999;
        }
        #endregion
        SelectItemBeingPickedUpFromRay();

        if (HasItemTargetted())
        {
            pickUpMessage.gameObject.SetActive(true);

            if (Input.GetKeyDown(KeyCode.E))
            {
                if (itemBeingPickedUp.tag == "Wood")
                {
                    wood++;
                    Destroy(itemBeingPickedUp.gameObject);
                    itemBeingPickedUp = null;
                }
                else if (itemBeingPickedUp.tag == "Stone")
                {
                    stone++;
                    Destroy(itemBeingPickedUp.gameObject);
                    itemBeingPickedUp = null;
                }
                else if (itemBeingPickedUp.tag == "Food")
                {
                    food++;
                    Destroy(itemBeingPickedUp.gameObject);
                    itemBeingPickedUp = null;
                }
                else if (itemBeingPickedUp.tag == "CraftingTable")
                {
                    crafting.CraftingOpen();
                }
            }

            if (Input.GetButton("Fire1"))
            {
                if (itemBeingPickedUp.tag == "Crystal")
                {
                    if (pickaxeEquipped == true)
                    {
                        mineSlider.gameObject.SetActive(true);
                        HoldToMineProgress();
                    }
                    else
                    {
                        Debug.Log("Needs a pickaxe equipped");
                    }
                }
            }

            if (Input.GetKey(KeyCode.E))
            {
                if (itemBeingPickedUp.tag == "Water")
                {
                    stats.currentThirst += drinkSpeed * Time.deltaTime;
                }
            }
        }

        else
        {
            pickUpMessage.gameObject.SetActive(false);
            mineSlider.gameObject.SetActive(false);
        }

        if (Input.GetButtonUp("Fire1"))
        {
            holdToMineTimerElapsed = 0f;
            mineSlider.gameObject.SetActive(false);
        }

        if (Input.GetKeyDown(KeyCode.Q) && crafting.pickaxeCrafted == true && pickaxeEquipped == false)
        {
            EquipPickaxe();
        }
        else if (Input.GetKeyDown(KeyCode.Q) && crafting.pickaxeCrafted == true && pickaxeEquipped == true)
        {
            UnequipPickaxe();
        }

        //Opening and Closing Map
    }