Невозможно использовать System.Serializable / SerializedField для компонента AudioManager, который я создаю - PullRequest
0 голосов
/ 06 апреля 2019

Использование базового скрипта для аудио-менеджера, но я получаю ошибки, не знаете, что происходит?

Попробовал "используя систему"; вместо этого, те же проблемы.

using UnityEngine;
[System.Serializable]

public class Sound {
    public string name;
    public AudioClip clip;
    private AudioSource source;

    public float volume = 0.7;
    public float pitch = 1f;

    public void SetSource (AudioSource _source) {
        source = _source;
        source.clip = clip;
    }

    public void Play () {
        source.volume = volume;
        source.pitch = pitch;
        source.Play();
    }
}

public class AudioManager : MonoBehaviour
{
    [SerializedField]
    Source[] sounds;

}

Я ожидаю, что это добавит поля в "Audio Manager", который я строю

Ответы [ 2 ]

1 голос
/ 06 апреля 2019

Ваша ошибка связана с этим: https://docs.unity3d.com/ScriptReference/SerializeField.html

Это атрибут, который должен находиться в пространстве имен UnityEngine (сборка UnityEngine.CoreModule) и существовать в нескольких версиях Unity (поэтому, похоже, это не проблема из-за изменения API в разных версиях).

Кроме того, вы правильно написали? Я замечаю "SerializedField" вместо "SerializeField" в вашем сообщении об ошибке, что кажется странным. Тебе стоит взглянуть на него второй раз.

Вы уверены, что у вас установлены все среды выполнения для Unity, все необходимые ссылки на «использование» и сборки и все инструменты (Visual Studio) в актуальном состоянии?

0 голосов
/ 06 апреля 2019

Это должно быть [SerializeField], у меня было [Serialize d Field].

Извините!Спасибо за ваш ответ AFract.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...