Unity C# - Скрипт перезагрузки не работает правильно

Так что этот скрипт должен переключаться между журналами, а не заполнять журнал. Что происходит с первой перезагрузкой, даже если анимация происходит и все. Журнал не меняется до тех пор, пока вы не начнете снимать, а затем перезагружать. Повторная загрузка переключится между 2 из 4 магазинов, даже если 2 пустые (что ожидается, потому что он может переключаться, если есть магазин с пулями).

Вот код:

if (Input.GetAxis ("Reload") > 0 && reloading == false && pressedReload == false && runningAutomatic == false && mags[currMag] < magazineSize && animator.GetCurrentAnimatorStateInfo (0).IsName (shootAnim.name) == false) {
    for (int i = 0; i < mags.Length; i++) {

        if (mags [i] > 0) {
            Reload (currMag + 1);
            animator.SetFloat ("ReloadSpeed", reloadSpeed);
            animator.Play (reloadAnim.name);
            pressedReload = true;
            reloading = true;
        }
    }
}
reloading = animator.GetCurrentAnimatorStateInfo (0).IsName (reloadAnim.name);
    if (reloading)
        pressedReload = false;

...

void Reload (int currentMagazine) {

    if (currentMagazine == mags.Length)
    currentMagazine = 0;
    currMag = currentMagazine;
}

1 ответ

Просто забыл break; Цикл для... Благодаря Serlite: D

Другие вопросы по тегам