Пример #1
0
            protected override void Install(RExModule host)
            {
                if (Done) //Only one MenuAssets throughout the application
                {
                    return;
                }

                RoadCategoryOrderManager.RegisterCategory(RExExtendedMenus.ROADS_TINY, 5);
                RoadCategoryOrderManager.RegisterCategory(RExExtendedMenus.ROADS_SMALL_HV, 20);
                RoadCategoryOrderManager.RegisterCategory(RExExtendedMenus.ROADS_BUSWAYS, 65);
                RoadCategoryOrderManager.RegisterCategory(RExExtendedMenus.ROADS_PEDESTRIANS, 75);

                var categories = host.Parts
                                 .OfType <IMenuItemBuilder>()
                                 .WhereActivated()
                                 .Select(mib => mib.UICategory)
                                 .Where(cat => !string.IsNullOrEmpty(cat))
                                 .Distinct()
                                 .ToArray();

                foreach (var cat in categories)
                {
                    ExtendedMenuManager.RegisterNewCategory(cat, GeneratedGroupPanel.GroupFilter.Net, ItemClass.Service.Road);
                }

                Done = true;
            }
Пример #2
0
        private IEnumerable <string> CollectAssetsNetInfoCategories()
        {
            for (uint num = 0; num < PrefabCollection <NetInfo> .LoadedCount(); num++)
            {
                var loaded = PrefabCollection <NetInfo> .GetLoaded(num);

                if (loaded != null && this.IsServiceValid(loaded) && this.IsPlacementRelevant(loaded))
                {
                    yield return(loaded.category);
                }
            }

            foreach (var cat in ExtendedMenuManager.GetNewCategories(GroupFilter.Net, service))
            {
                yield return(cat);
            }
        }