Почему объект не ремонтируется в 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;
}
}