Вообщем, я только начал свой путь по созданию игр, делаю платформер, и у меня такая проблема. Есть хот бар, в нём может хранится число от 0 до 50, и при значении "переменная int" < 10 возможно сделать выстрел... Так я хотел сделать, но не могу найти как узнать значение переменной int из другого скрипта.
код хот бара
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
namespace N.Fridman.ProgressBar.Scripts
{
public class ProgressBarComponent : MonoBehaviour
{
[Header("UI Elements")]
[SerializeField] private Image image;
[Header("Properties")]
[SerializeField] private int value = 0;
[SerializeField] private int maxValue = 50;
[SerializeField] private bool isCorrectlyConfigured = false;
private void Start()
{
StartCoroutine(addScore()); //Старт корутины
}
private void Awake()
{
if (image.type == Image.Type.Filled & image.fillMethod == Image.FillMethod.Horizontal)
{
isCorrectlyConfigured = true;
}
else
{
Debug.Log("{GameLog} => [ProgressBarController] - (<color=red>Error</color>) -> Components Parameters Are Incorrectly Configured! \n" +
"Required Type: Filled \n" +
"Required FillMethod: Horizontal");
}
}
private void LateUpdate()
{
if (!isCorrectlyConfigured) return;
image.fillAmount = (float) value / maxValue;
}
public void SetValue(int value) => this.value = value;
public void SetMaxValue(int maxValue) => this.maxValue = maxValue;
private IEnumerator addScore()
{
while (true)
{
yield return new WaitForSeconds(1);
if (value < 50)
{
value++;
}
}
}
}
}
код стрельбы
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Weapon : MonoBehaviour
{
public Transform shotpos;
public GameObject Bullet;
void Update()
{
if(Input.GetKeyDown(KeyCode.F))
{
Instantiate(Bullet, shotpos.transform.position, transform.rotation);
}
}
}
нужно чтоб стрельба была возможна при значении int value > 10.
код собирался из интернета и разных туториалов по кускам.