묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[유니티 레벨 업!] 모듈식으로 개발하는 스킬 시스템
1번 강의 IdentifiedObjectEditor 스크립트에서 에러가 납니다.
NullReferenceException: SerializedObject of SerializedProperty has been Disposed.UnityEditor.SerializedProperty.get_propertyType () (at <04e0fdd0fac34142a67859e48fe87770>:0)UnityEditor.EditorGUILayout.IsChildrenIncluded (UnityEditor.SerializedProperty prop) (at <04e0fdd0fac34142a67859e48fe87770>:0)UnityEditor.EditorGUILayout.PropertyField (UnityEditor.SerializedProperty property, UnityEngine.GUILayoutOption[] options) (at <04e0fdd0fac34142a67859e48fe87770>:0)IdentifiedObjectEditor.OnInspectorGUI () (at Assets/Scripts/Editor/IdentifiedObjectEditor.cs:99)UnityEditor.UIElements.InspectorElement+<>c__DisplayClass74_0.<CreateInspectorElementUsingIMGUI>b__0 () (at <04e0fdd0fac34142a67859e48fe87770>:0) 이런 에러인데 에러가 나는 시점이 인스펙터에서 코드네임을 변경한 후 엔터키를 눌렀을 때 발생합니다.EditorGUILayout.PropertyField(displayNameProperty);이름 변경 후 displayName을 그려줄 때 에러가 나는데 아무래도 OnEable 함수에서 FindProperty함수로 값을 제대로 가져오지 못하고 있는 것 같은데 어떻게 해야할까요? [SerializeField] private Category[] categories; [SerializeField] private Sprite icon; [SerializeField] private int id = -1; [SerializeField] private string codeName; [SerializeField] private string displayName; [SerializeField] private string description; categoriesProperty = serializedObject.FindProperty("categories"); iconProperty = serializedObject.FindProperty("icon"); idProperty = serializedObject.FindProperty("id"); codeNameProperty = serializedObject.FindProperty("codeName"); displayNameProperty = serializedObject.FindProperty("displayName"); descriptionProperty = serializedObject.FindProperty("description");혹시 제가 직접 타이핑한게 문제일까 싶어서 코드를 다운로드 받고 복붙해봤는데도 에러가 발생합니다.이 현상을 그대로 두고 진행해도 될까요?이름 변경은 제대로 됩니다.
-
해결됨[유니티 레벨 업!] 모듈식으로 개발하는 스킬 시스템
section1 7-stat 강좌에서 delegate를 사용하신 이유가 궁금합니다.
public delegate void ValueChangedHandler(Stat stat, float currentValue, float prevValue); public event ValueChangedHandler onValueChanged;public event Action<Stat, float, float> onValueChanged; 위와 같이 delegate를 사용하셨는데, 아래 action 대신 사용하면 어떤 차이가 있는지, 또는 특별한 이유가 있는지 궁금합니다.