Example #1
0
        protected virtual void Dispose(bool disposing)
        {
            if (!disposedValue)
            {
                if (disposing)
                {
                    // TODO: dispose managed state (managed objects)
                    if (Packages != null)
                    {
                        if (Packages.Count > 0)
                        {
                            foreach (SelectablePackage package in GetFlatPackageList())
                            {
                                package.Dispose();
                            }
                        }
                        Packages.Clear();
                        Packages = null;
                    }
                    if (Dependencies != null)
                    {
                        Dependency.ClearLogics(Dependencies);
                        Dependencies = null;
                    }
                    if (TabPage != null)
                    {
                        TabPage = null;
                    }
                    if (CategoryHeader != null)
                    {
                        CategoryHeader.Dispose();
                        CategoryHeader = null;
                    }
                    if (EditorTreeViewItem != null)
                    {
                        EditorTreeViewItem = null;
                    }
                }

                // TODO: free unmanaged resources (unmanaged objects) and override finalizer
                // TODO: set large fields to null
                disposedValue = true;
            }
        }
Example #2
0
    public void SetupCardCategory(CardSize cardSize, List <CardUnityBase> cards, int defaulColumnCount = 0)
    {
        categoryHeader = Instantiate <CategoryHeader>(categoryHeaderPrefab, Vector3.zero, Quaternion.identity, transform.parent);
        categoryHeader.transform.SetSiblingIndex(transform.GetSiblingIndex());

        string categoryName;

        switch (cardSize)
        {
        case CardSize.Large:
            categoryHeader.SetHeaderText("Ships");
            categoryName = "Category-Ships";
            break;

        case CardSize.Normal:
            categoryHeader.SetHeaderText("Squadrons");
            categoryName = "Category-Squadrons";
            break;

        case CardSize.Small:
            categoryHeader.SetHeaderText("Upgrades");
            categoryName = "Category-Upgrades";
            break;

        default:
            categoryHeader.SetHeaderText("Miscellaneous");
            categoryName = "Category-Miscellaneous";
            break;
        }

        cardsInCategory  = cards;
        categoryCardSize = cardSize;

        SetupCardsInCategory();

        if (defaulColumnCount > 0)
        {
            SetColumns(defaulColumnCount);
        }

        gameObject.name = $"{transform.GetSiblingIndex().ToString("000")}-{categoryName}";
    }
Example #3
0
        private void CreateCategoryHeader(GameObject parent, GameObject headerArea)
        {
            CategoryHeader = Object.Instantiate(_optionsPanel, Canvas.transform);

            CategoryHeader.GetComponent <RectTransform>().anchorMin = new Vector2(0.275f, 0.86f);
            CategoryHeader.GetComponent <RectTransform>().anchorMax = new Vector2(1f, 1f);

            CategoryHeader.SetActive(false);
            CategoryHeader.name = "Category Headers";

            Object.DestroyImmediate(CategoryHeader.transform.Find("Scroll View").Find("Viewport").Find("VerticalLayout").gameObject);
            Object.DestroyImmediate(CategoryHeader.transform.Find("Scroll View").Find("Scrollbar Vertical").gameObject);

            GameObject headers = Object.Instantiate(headerArea, CategoryHeader.transform.Find("Scroll View").Find("Viewport"));

            headers.name = "Categories (JUICED)";

            Object.DestroyImmediate(headers.GetComponent <OnEnableEvent>());
            Object.DestroyImmediate(headers.GetComponent <AwakeEvent>());

            RectTransform rt = headers.GetComponent <RectTransform>();

            rt.pivot = new Vector2(0.5f, 0.5f);

            rt.anchorMin = new Vector2(0f, 0.2f);
            rt.anchorMax = new Vector2(0f, 0.8f);

            rt.anchoredPosition = new Vector2(0, 0);

            var localPosition = headers.transform.localPosition;

            localPosition = new Vector3(localPosition.x, -47f, localPosition.z);
            headers.transform.localPosition = localPosition;

            headers.GetComponent <CanvasGroup>().alpha = 1;

            RectTransform[] oldButtons = headers.GetComponentsInChildren <RectTransform>();

            foreach (var oldButton in oldButtons)
            {
                if (oldButton == null)
                {
                    continue;
                }

                if (oldButton != headers.GetComponent <RectTransform>())
                {
                    Object.DestroyImmediate(oldButton.gameObject);
                }
            }

            CategoryHeaderHighlight = Object.Instantiate(parent.GetComponent <HGHeaderNavigationController>().headerHighlightObject,
                                                         parent.GetComponent <HGHeaderNavigationController>().headerHighlightObject.transform.parent);

            CategoryHeaderHighlight.SetActive(false);

            HGHeaderNavigationController categoryController = headers.AddComponent <HGHeaderNavigationController>();

            categoryController.headerHighlightObject = CategoryHeaderHighlight;
            categoryController.unselectedTextColor   = Color.white;

            categoryController.makeSelectedHeaderButtonNoninteractable = true;

            var categoryViewPortHeaderRectTransform = CategoryHeader.transform.Find("Scroll View").Find("Viewport").gameObject.GetComponent <RectTransform>();

            categoryViewPortHeaderRectTransform.anchorMin = new Vector2(0.11f, 0);
            categoryViewPortHeaderRectTransform.anchorMax = new Vector2(0.89f, 1);

            UISkinData skinData = CategoryHeader.transform.Find("Scroll View").GetComponent <ScrollRectSkinController>().skinData;
            UILayerKey layerKey = CategoryHeader.transform.Find("Scroll View").GetComponent <HGScrollRectHelper>().requiredTopLayer;

            Object.DestroyImmediate(CategoryHeader.transform.Find("Scroll View").GetComponent <ScrollRectSkinController>());
            Object.DestroyImmediate(CategoryHeader.transform.Find("Scroll View").GetComponent <HGScrollRectHelper>());
            Object.DestroyImmediate(CategoryHeader.transform.Find("Scroll View").GetComponent <ScrollRect>());

            CategoryScrollRect categoryScrollRect = CategoryHeader.transform.Find("Scroll View").gameObject.AddComponent <CategoryScrollRect>();

            categoryScrollRect.inertia             = false;
            categoryScrollRect.content             = headers.GetComponent <RectTransform>();
            categoryScrollRect.content.pivot       = new Vector2(0, 0.5f);
            categoryScrollRect.horizontal          = true;
            categoryScrollRect.vertical            = false;
            categoryScrollRect.movementType        = ScrollRect.MovementType.Unrestricted;
            categoryScrollRect.viewport            = categoryViewPortHeaderRectTransform;
            categoryScrollRect.horizontalScrollbar = null;

            CategoryHeader.transform.Find("Scroll View").gameObject.AddComponent <HGScrollRectHelper>().requiredTopLayer = layerKey;
            CategoryHeader.transform.Find("Scroll View").gameObject.AddComponent <ScrollRectSkinController>().skinData   = skinData;

            ContentSizeFitter sizeFitter = headers.AddComponent <ContentSizeFitter>();

            sizeFitter.horizontalFit = ContentSizeFitter.FitMode.PreferredSize;
            sizeFitter.verticalFit   = ContentSizeFitter.FitMode.Unconstrained;

            HorizontalLayoutGroup hlg = headers.GetComponent <HorizontalLayoutGroup>();

            hlg.enabled                = true;
            hlg.padding                = new RectOffset(8, 8, 4, 4);
            hlg.spacing                = 16;
            hlg.childAlignment         = TextAnchor.MiddleCenter;
            hlg.childControlWidth      = true;
            hlg.childControlHeight     = true;
            hlg.childForceExpandWidth  = true;
            hlg.childForceExpandHeight = true;
        }