private MetaTable BuildOrGetMetaTable(ViewTable parentVTable, ViewTable buildingVTable) { if (parentVTable == null) { //no parent view table mean we are building the root table and must create a meta table. if (buildingVTable == null) { //we must be building a view table when building the root. Debug.LogError("Failed to build the root view table."); MemoryProfilerAnalytics.AddMetaDatatoEvent <MemoryProfilerAnalytics.LoadViewXMLEvent>(8); } Database.MetaTable metaTable = new Database.MetaTable(); metaTable.name = name; metaTable.displayName = name; metaTable.defaultFilter = defaultFilter; metaTable.defaultAllLevelSortFilter = defaultAllLevelSortFilter; buildingVTable.m_Meta = metaTable; return(metaTable); } else { // if has a parent, use parent's meta table if (buildingVTable != null) { buildingVTable.m_Meta = parentVTable.m_Meta; } return(parentVTable.m_Meta); } }