@kontay

Как сделать стрельбу при определённом значении переменной int в другом скрипте?

Вообщем, я только начал свой путь по созданию игр, делаю платформер, и у меня такая проблема. Есть хот бар, в нём может хранится число от 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.

код собирался из интернета и разных туториалов по кускам.
  • Вопрос задан
  • 59 просмотров
Пригласить эксперта
Ответы на вопрос 1
freeExec
@freeExec
Участник OpenStreetMap
[SerializeField] private KlassVKotoromPeremennaya;
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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