Skip to content

Commit

Permalink
Fix exposure tree exceptions in Unity 2019
Browse files Browse the repository at this point in the history
- Resolves #94
  • Loading branch information
MerlinVR committed Aug 4, 2021
1 parent 308e752 commit 6e89d85
Showing 1 changed file with 9 additions and 3 deletions.
12 changes: 9 additions & 3 deletions Assets/UdonSharp/Editor/Editors/UdonTypeExposureTree.cs
Original file line number Diff line number Diff line change
Expand Up @@ -330,7 +330,7 @@ private void AddChildNode(TreeViewItem parentItem, MemberInfo memberInfo, ref in
if (obsoleteAttribute != null)
return;

if (memberInfo.MemberType == MemberTypes.Property && !((PropertyInfo)memberInfo).GetGetMethod().IsPublic)
if (memberInfo.MemberType == MemberTypes.Property && (!((PropertyInfo)memberInfo).GetGetMethod()?.IsPublic ?? false))
return;

if (memberInfo.DeclaringType.IsEnum)
Expand All @@ -350,7 +350,6 @@ private void AddChildNode(TreeViewItem parentItem, MemberInfo memberInfo, ref in
}

TreeViewItem memberItem = new TreeViewItem(currentID++, parentItem.depth + 1, $"<{memberInfo.MemberType}>{staticStr} {memberInfo.ToString()}");
parentItem.AddChild(memberItem);

TypeItemMetadata itemMetadata = new TypeItemMetadata();
itemMetadata.member = memberInfo;
Expand All @@ -370,7 +369,12 @@ private void AddChildNode(TreeViewItem parentItem, MemberInfo memberInfo, ref in
itemMetadata.exposed = resolver.IsValidUdonMethod(getAccessor);
break;
case MemberTypes.Property:
string getProperty = resolver.GetUdonMethodName(((PropertyInfo)memberInfo).GetGetMethod(), false);
var getMethod = ((PropertyInfo) memberInfo).GetGetMethod();

if (getMethod == null)
return;

string getProperty = resolver.GetUdonMethodName(getMethod, false);
exposedUdonExterns.Remove(getProperty);

if (((PropertyInfo)memberInfo).GetSetMethod() != null)
Expand All @@ -382,6 +386,8 @@ private void AddChildNode(TreeViewItem parentItem, MemberInfo memberInfo, ref in
itemMetadata.exposed = resolver.IsValidUdonMethod(getProperty);
break;
}

parentItem.AddChild(memberItem);

itemMetadatas.Add(memberItem, itemMetadata);

Expand Down

0 comments on commit 6e89d85

Please sign in to comment.