Вызов метода из другого скрипта C#

190
24 декабря 2019, 08:20

Есть 2 класса( 2 разных скрипта). Первый:

public class ManaBar : MonoBehaviour // скрипт манабара с классом мана
{
public Image barImage;
public Mana mana;
public void Awake()
{
    barImage = transform.Find("Bar").GetComponent<Image>();
    mana = new Mana();
}
public void Update()
{
    mana.Update();
    barImage.fillAmount = mana.GetManaNormalized();
}
}
public class Mana
{
public const int MANA_MAX = 100;
public float manaAmount;
public float manaRegenAmount;

public Mana()
{
    manaAmount = 0;
    manaRegenAmount = 0.2f;
}
public void Update()
{
    manaAmount += manaRegenAmount + Time.deltaTime;
    manaAmount = Mathf.Clamp(manaAmount, 0f, MANA_MAX);
}
public void Cast(int amount) // - метод который нам нужно вызвать во втором скрипте
{
    if (manaAmount >= amount)
    {
        manaAmount -= amount;
    }
}
public float GetManaNormalized()
{
    return manaAmount / MANA_MAX;
}
}

Второй класс (и второй скрипт по совместительству) в котором нужно вызвать метод Cast:

public class weapon : MonoBehaviour
{
public Transform Firepoint;
public GameObject FireballPrefab;
public Mana manacast;

void Start()
{
    manacast = new Mana();
}
public void Update()
{
    if (Input.GetButtonUp("Fire1")) // - когда нажимаем на кнопку стреляем и отнимаем ману
    {
        Shoot();
        manacast.Cast(10);
    }
}
public void Shoot()
{
    Instantiate(FireballPrefab, Firepoint.position, Firepoint.rotation);
}

Проблема в том, что нет никакой реакции на этот метод. Заранее спасибо если объясните что не так!

READ ALSO
Ошибка обращения к workbook.FileFormat

Ошибка обращения к workbook.FileFormat

Почему возникает данное исключение, что значит этот код "-2146826246" ?

214
Вычисление контрольный суммы для ICMP

Вычисление контрольный суммы для ICMP

Есть программа учебная, для отправки своих пакетовВозникла проблема с вычислением контрольной суммы для ICMP заголовка третьего типа, то есть,...

188
Динамические элементы в json c# winforms

Динамические элементы в json c# winforms

Для сериализации в json использую newtonsoftМне надо сделать один такой раздел так, чтобы при нажатии кнопки появлялись два новых textbox(сколько угодно...

194
&ldquo;Упростить&rdquo; код до 1 строки

“Упростить” код до 1 строки

Есть ли способ решить следующую задачу в одну строку? или еще более компактно

187