я сделал скрипт для подсчета дров
, если у игрока 5 дров и нажмите L, дрова должны быть -5, а значок «holz2» должен быть активным, но текст пользовательского интерфейса не обновляется, а значок не устанавливается активным
было бы неплохо, если бы кто-то мог мне помочь:)
HolzScript:
void Start()
{
gesammeltesHolzText.text = gesammeltesHolz.ToString();
gesammeltesHolzTable.text = gesammeltesHolz.ToString();
holzIcon.gameObject.SetActive(false);
holzIconTable.gameObject.SetActive(false);
gesammeltesHolzText.gameObject.SetActive(false);
gesammeltesHolzTable.gameObject.SetActive(false);
}
void Update()
{
if (gesammeltesHolz > 0)
{
gesammeltesHolzText.gameObject.SetActive(true);
gesammeltesHolzTable.gameObject.SetActive(true);
}
if (Input.GetMouseButtonDown(0))
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit rayHit;
if (Physics.Raycast(ray, out rayHit, 100.0f))
{
if (rayHit.collider.tag == "Baum")
{
holzIcon.gameObject.SetActive(true);
holzIconTable.gameObject.SetActive(true);
gesammeltesHolz++;
Destroy(rayHit.collider.gameObject);
}
gesammeltesHolzText.text = gesammeltesHolz.ToString();
gesammeltesHolzTable.text = gesammeltesHolz.ToString();
}
}
}
и скрипт игрока для проверки, нажимает ли игрок L
void Update()
{
if (Input.GetKeyDown(KeyCode.L))
{
if (Axt.GetComponent<holzEinsammeln>().gesammeltesHolz > 4)
{
Axt.GetComponent<holzEinsammeln>().gesammeltesHolz -= 5;
holzIcon2.gameObject.SetActive(true);
}
}