Изучая проект, я добавил скрипт, в котором используются переменные с ключевым словом private. Переменная хоть и является закрытой, но, благодаря cериализация с помощью [SerializeField], этой переменной можно назначать новые значения прямо из окна редактора:
[CreateAssetMenu(menuName = "Effect/Shield Effect Sequence")]
public class ShieldEffect : EffectSequence
{
[SerializeField] private AudioClip effectAudio;
[SerializeField] private GameObject shieldPrefab;
[SerializeField] private float duration = 60f;
[SerializeField] private DamageType DR;
Пару дней назад я обновил редактор Unity до версии 2019.1.0f и обнаружил в консоли несколько десятков сообщений жёлтого цвета — Warning, например:
Assets\Scripts\MonoBehaviours\Effects\ShieldEffect.cs(11,41): warning CS0649: Field 'ShieldEffect.shieldPrefab' is never assigned to, and will always have its default value null
Раньше этих ошибок точно не было. Пока этот баг не исправили, в комментариях к нему предложили скрыть этот тип предупреждения с помощью #pragma warning disable 0649:
[CreateAssetMenu(menuName = "Effect/Shield Effect Sequence")]
#pragma warning disable 0649
public class ShieldEffect : EffectSequence
{
[SerializeField] private AudioClip effectAudio;
[SerializeField] private GameObject shieldPrefab;
[SerializeField] private float duration = 60f;
[SerializeField] private DamageType DR;
DenTNT недавно публиковал (посмотреть все)
- Windows 10: Уменьшить размер виртуальной машины WSL - 06.10.2024
- Windows 10: Событие EventID 63 в Журнале Приложений - 28.09.2024
- Android: Захват траффика - 07.09.2024