public override void OnInspectorGUI() { base.OnInspectorGUI(); Target = target as BindingBase; if (!Application.isPlaying) { Target.FindContext(); } if (Target.Context == null) { EditorGUILayout.LabelField("BindingContext not found."); PropertyTextInputs(); } else if (Target.Context.DataType == null) { EditorGUILayout.LabelField("BindingContext.DataType not found."); PropertyTextInputs(); } else { Target.Init(); foreach (var binding in Target.GetBindingInfos()) { if (binding.ShouldShow != null && !binding.ShouldShow()) { continue; } PropertyDropDown(binding); } } }