コード例 #1
0
 private void PositionMenus()
 {
     foreach (KeyValuePair <HashedString, BuildMenuCategoriesScreen> submenu in submenus)
     {
         HashedString key = submenu.Key;
         BuildMenuCategoriesScreen value = submenu.Value;
         LayoutGroup component           = value.GetComponent <LayoutGroup>();
         Vector2     anchoredPosition;
         PadInfo     padInfo;
         if (key == ROOT_HASHSTR)
         {
             anchoredPosition = rootMenuOffset;
             padInfo          = rootMenuPadding;
             Image component2 = value.GetComponent <Image>();
             component2.enabled = false;
         }
         else
         {
             anchoredPosition = nestedMenuOffset;
             padInfo          = nestedMenuPadding;
         }
         value.rectTransform().anchoredPosition = anchoredPosition;
         component.padding.left   = padInfo.left;
         component.padding.right  = padInfo.right;
         component.padding.top    = padInfo.top;
         component.padding.bottom = padInfo.bottom;
     }
     buildingsScreen.rectTransform().anchoredPosition = buildingsMenuOffset;
 }
コード例 #2
0
    private void Initialize()
    {
        foreach (KeyValuePair <HashedString, BuildMenuCategoriesScreen> submenu in submenus)
        {
            BuildMenuCategoriesScreen value = submenu.Value;
            value.Close();
            UnityEngine.Object.DestroyImmediate(value.gameObject);
        }
        submenuStack.Clear();
        tagCategoryMap         = new Dictionary <Tag, HashedString>();
        tagOrderMap            = new Dictionary <Tag, int>();
        categorizedBuildingMap = new Dictionary <HashedString, List <BuildingDef> >();
        categorizedCategoryMap = new Dictionary <HashedString, List <HashedString> >();
        int         building_index   = 0;
        DisplayInfo orderedBuildings = OrderedBuildings;

        PopulateCategorizedMaps(orderedBuildings.category, 0, orderedBuildings.data, tagCategoryMap, tagOrderMap, ref building_index, categorizedBuildingMap, categorizedCategoryMap);
        BuildMenuCategoriesScreen buildMenuCategoriesScreen = submenus[ROOT_HASHSTR];

        buildMenuCategoriesScreen.Show(true);
        buildMenuCategoriesScreen.modalKeyInputBehaviour = false;
        foreach (KeyValuePair <HashedString, BuildMenuCategoriesScreen> submenu2 in submenus)
        {
            HashedString key = submenu2.Key;
            if (!(key == ROOT_HASHSTR) && categorizedCategoryMap.TryGetValue(key, out List <HashedString> value2))
            {
                BuildMenuCategoriesScreen value3 = submenu2.Value;
                Image component = value3.GetComponent <Image>();
                if ((UnityEngine.Object)component != (UnityEngine.Object)null)
                {
                    component.enabled = (value2.Count > 0);
                }
            }
        }
        PositionMenus();
    }