public VisitedReferencesScope(IInspectorVisitor visitor, ref TValue value, PropertyPath path) { m_Visitor = visitor; m_ReferenceType = !RuntimeTypeInfoCache <TValue> .IsValueType; if (m_ReferenceType) { if (null == value) { m_Object = null; VisitedOnCurrentBranch = false; return; } m_ReferenceType = !value.GetType().IsValueType; } if (m_ReferenceType) { m_Object = value; VisitedOnCurrentBranch = !m_Visitor.VisitorContext.PushReference(value, path); } else { m_Object = null; VisitedOnCurrentBranch = false; } }
public PropertyPathScope(IInspectorVisitor visitor, PropertyPath path) { m_Visitor = visitor; m_Path = visitor.GetCurrentPath(); m_Visitor.ClearPath(); m_Visitor.AddToPath(path); }
public VisitedReferencesScope <TValue> MakeVisitedReferencesScope <TValue>(IInspectorVisitor visitor, ref TValue value, PropertyPath path) { return(new VisitedReferencesScope <TValue>(visitor, ref value, path)); }
public PropertyPathScope MakePropertyPathScope(IInspectorVisitor visitor, PropertyPath path) { return(new PropertyPathScope(visitor, path)); }