Skip to content

Commit 01d267d

Browse files
committed
Rework to remove null prop checks on ScriptableObjects
Which isn't best practice due to Unity's custom == operators
1 parent 980cc56 commit 01d267d

File tree

1 file changed

+18
-7
lines changed

1 file changed

+18
-7
lines changed

Assets/MRTK/Core/Inspectors/Profiles/MixedRealityToolkitConfigurationProfileInspector.cs

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -153,21 +153,32 @@ protected override void OnEnable()
153153
using (var c = new EditorGUI.ChangeCheckScope())
154154
{
155155
// Reconciling old Experience Scale property with the Experience Settings Profile
156-
var oldExperienceSettigsScale = (experienceSettingsProfile.objectReferenceValue as MixedRealityExperienceSettingsProfile)?.TargetExperienceScale;
156+
ExperienceScale? oldExperienceSettingsScale = null;
157+
if (experienceSettingsProfile.objectReferenceValue is MixedRealityExperienceSettingsProfile oldExperienceSettingsProfile
158+
&& oldExperienceSettingsProfile != null)
159+
{
160+
oldExperienceSettingsScale = oldExperienceSettingsProfile.TargetExperienceScale;
161+
}
157162

158163
changed |= RenderProfile(experienceSettingsProfile, typeof(MixedRealityExperienceSettingsProfile), true, false, null, true);
159164

160165
// Experience configuration
161-
if(!mrtkConfigProfile.ExperienceSettingsProfile.IsNull())
162-
{
166+
if (mrtkConfigProfile.ExperienceSettingsProfile != null)
167+
{
163168
// If the Experience Scale property changed, make sure we also alter the configuration profile's target experience scale property for compatibility
164-
var newExperienceSettigs = (experienceSettingsProfile.objectReferenceValue as MixedRealityExperienceSettingsProfile)?.TargetExperienceScale;
165-
if(oldExperienceSettigsScale.HasValue && newExperienceSettigs.HasValue && oldExperienceSettigsScale != newExperienceSettigs)
169+
ExperienceScale? newExperienceSettingsScale = null;
170+
if (experienceSettingsProfile.objectReferenceValue is MixedRealityExperienceSettingsProfile newExperienceSettingsProfile
171+
&& newExperienceSettingsProfile != null)
172+
{
173+
newExperienceSettingsScale = newExperienceSettingsProfile.TargetExperienceScale;
174+
}
175+
176+
if (oldExperienceSettingsScale.HasValue && newExperienceSettingsScale.HasValue && oldExperienceSettingsScale != newExperienceSettingsScale)
166177
{
167-
experienceScaleMigration.intValue = (int)newExperienceSettigs;
178+
experienceScaleMigration.intValue = (int)newExperienceSettingsScale;
168179
experienceScaleMigration.serializedObject.ApplyModifiedProperties();
169180
}
170-
// If we have not changed the Experience Settings profile and it's value is out of sync with the top level configuration profile, display a migration prompt
181+
// If we have not changed the Experience Settings profile and its value is out of sync with the top level configuration profile, display a migration prompt
171182
else if ((ExperienceScale)experienceScaleMigration.intValue != mrtkConfigProfile.ExperienceSettingsProfile.TargetExperienceScale)
172183
{
173184
Color errorColor = Color.Lerp(Color.white, Color.red, 0.5f);

0 commit comments

Comments
 (0)