Пример #1
0
            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;
                }
            }
Пример #2
0
 public PropertyPathScope(IInspectorVisitor visitor, PropertyPath path)
 {
     m_Visitor = visitor;
     m_Path    = visitor.GetCurrentPath();
     m_Visitor.ClearPath();
     m_Visitor.AddToPath(path);
 }
Пример #3
0
 public VisitedReferencesScope <TValue> MakeVisitedReferencesScope <TValue>(IInspectorVisitor visitor, ref TValue value, PropertyPath path)
 {
     return(new VisitedReferencesScope <TValue>(visitor, ref value, path));
 }
Пример #4
0
 public PropertyPathScope MakePropertyPathScope(IInspectorVisitor visitor, PropertyPath path)
 {
     return(new PropertyPathScope(visitor, path));
 }