@Ad1yar

Почему объект не ремонтируется в Unity3D?

Почему объект не ремонтируется в Unity3D? Тоесть игрок должен подойти к объекту и начинать ремонтировать его.

Вот часть скрипта:
public static bool repairing;

    void Update()
    {
        if (Input.GetKey(KeyCode.E) && canvas.activeInHierarchy)
        {
            repairing = true;
        }

        else
        {
            repairing = false;
        }

        RaycastHit hit;

        var ray = Camera.main.ScreenPointToRay(Input.mousePosition);

        if (Physics.Raycast(ray, out hit, 2f) && !Input.GetKey(KeyCode.Tab))
        {
            if (hit.collider.gameObject.TryGetComponent(out Building building))
            {
                slider.maxValue = building.slider.maxValue;
                slider.value = building.slider.value;

                if (building.slider.value != building.slider.maxValue)
                {
                    canvas.SetActive(true);
                }

                else
                {
                    canvas.SetActive(false);
                }
            }

            else
            {
                canvas.SetActive(false);
            }
        }

        else
        {
            canvas.SetActive(false);
        }
    }


и часть где он должен восполнять хп(другой код):
public Slider slider;

void Update()
    {
        if (Repair.repairing)
        {
            slider.value += 10f;
        }
    }
  • Вопрос задан
  • 33 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы