Я установил переменную как SerializeField, чтобы выбрать значение из инспектора. Однако значение не меняется и всегда имеет «истинное» значение.
Я пытался сделать его общедоступным, изменить имя, повторно импортировать компонент, сбросить компонент... И, похоже, ничего не дает никакого эффекта, единственное, что работает, - это изменение значения в методе пробуждения.
public class AudioController : MonoBehaviour
{
[SerializeField] private bool playSoundsAtColision; //WHY IS TRUE??? Is false in the inspector...
private void OnCollisionEnter2D(Collision2D collision)
{
if (this.playSoundsAtColision)
Debug.Log("playSoundsAtColision = " + this.playSoundsAtColision + " by: " + gameObject.name, gameObject);
}
}
Вот изображение всего кода: https://i.imgur.com/rT5BdhT.png (где вы можете видеть, что переменная только объявлена, затем проверена и напечатана, и другого доступа к ней больше нигде нет)
Вот что происходит, несмотря на то, что я установил в инспекторе: https://i.imgur.com/FLFugq8.png
Спасибо за вашу помощь заранее!
DisallowMultipleComponent
. - person AresCaelum   schedule 23.04.2019AudioController
, но какAudioControllerTest
или что-то в этом роде. - person AresCaelum   schedule 23.04.2019