示例#1
0
                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);
                    }
                }