Exemplo n.º 1
0
 // Token: 0x06002252 RID: 8786 RVA: 0x00094711 File Offset: 0x00092911
 private void SetDirty()
 {
     if (!base.isActiveAndEnabled)
     {
         return;
     }
     if (!CanvasUpdateRegistry.IsRebuildingLayout())
     {
         LayoutRebuilder.MarkLayoutForRebuild(this.rectTransform);
     }
 }
Exemplo n.º 2
0
        protected override void Action()
        {
            if (!_object)
            {
                return;
            }
            Object obj = Instantiate(_object);

            if (!_copyPosiiton && !_copyRotation)
            {
                return;
            }
            var       go           = obj as GameObject;
            var       comp         = obj as Component;
            Transform objTransform = null;

            if (go != null)
            {
                objTransform = go.transform;
            }
            else if (comp != null)
            {
                objTransform = comp.transform;
            }
            if (!objTransform)
            {
                return;
            }
            var rTransform = objTransform as RectTransform;

            if (rTransform)
            {
                //if (_copyPosiiton)
                //    rTransform.anchoredPosition3D = transform.position;
                //if (_copyRotation)
                //    rTransform.rotation = transform.rotation;
                LayoutRebuilder.MarkLayoutForRebuild(rTransform);
            }
            else
            {
                if (_copyPosiiton)
                {
                    objTransform.position = transform.position;
                }
                if (_copyRotation)
                {
                    objTransform.rotation = transform.rotation;
                }
            }
            if (OnCreate != null)
            {
                OnCreate(obj);
            }
        }
Exemplo n.º 3
0
 static void OnPrefabInstanceUpdates(GameObject instance)
 {
     if (instance)
     {
         RectTransform rect = instance.transform as RectTransform;
         if (rect)
         {
             LayoutRebuilder.MarkLayoutForRebuild(rect);
         }
     }
 }
Exemplo n.º 4
0
 public void LoadWorlds()
 {
     GameManager.LoadData();
     ClearActiveChildren(worldsHolder);
     foreach (GameManager.World world in GameManager.worlds.Values)
     {
         WorldItem item = Instantiate(worldItemTemplate, worldsHolder);
         item.gameObject.SetActive(true);
         item.world = world;
     }
     LayoutRebuilder.MarkLayoutForRebuild(worldsHolder.parent as RectTransform);
 }
Exemplo n.º 5
0
    public void Add(Health health)
    {
        HealthDisplay display = Instantiate(displayPrefab, displaysHead);

        displays.Add(display);
        display.SetUp(health);
        display.SetNewData(health);

        health.onUpdated += OnHealthUpdate;
        health.onDead    += OnDead;
        LayoutRebuilder.MarkLayoutForRebuild(displaysHead.GetComponent <RectTransform>());
    }
Exemplo n.º 6
0
        /// <summary>
        /// 
        /// </summary>
        public override void SetLayoutDirty()
        {
            //Debug.Log("SetLayoutDirty()");

            if ( m_layoutAlreadyDirty || this == null || !this.IsActive())
                return;

            m_layoutAlreadyDirty = true;
            LayoutRebuilder.MarkLayoutForRebuild(this.rectTransform);

            m_isLayoutDirty = true;
        }
Exemplo n.º 7
0
        /// <summary>
        /// Expect (header, description) tuple
        /// </summary>
        /// <param name="nodes"></param>
        public void Create(List <Tuple <string, string> > nodes)
        {
            foreach (var node in nodes)
            {
                var instance = Instantiate(tooltipNodePrefab, new Vector3(0, 0, -80), Quaternion.identity, transform);
                instance.GetComponent <TooltipNode>().Set(node.Item1, node.Item2);
            }
            var layout = this.GetComponent <VerticalLayoutGroup>();

            Canvas.ForceUpdateCanvases();
            LayoutRebuilder.MarkLayoutForRebuild(transform as RectTransform);
        }
Exemplo n.º 8
0
        /// <summary>
        /// Render a new list item element
        /// </summary>
        /// <param name="itemData"></param>
        /// <param name="dataSource"></param>
        /// <param name="itemTemplate"></param>
        /// <param name="list"></param>
        internal void RenderListItem(object itemData, string dataSource, XmlElement itemTemplate, IObservableList list)
        {
            // Create the new item based on the item template for this list
            var element = (XmlElement)GameObject.Instantiate(itemTemplate);
            var parent  = currentListElement.listElement;

            // Add the new item to the list container
            parent.AddChildElement(element);

            // The template will be inactive by default, we need to make it active
            element.SetAttribute("active", "true");

            // Get/Add the List Item component and add it to the element
            var listItemComponent = element.gameObject.GetComponent <XmlLayoutListItem>() ?? element.gameObject.AddComponent <XmlLayoutListItem>();

            listItemComponent.guid = list.GetGUID(itemData);

            // Add this list item to the list's item collection
            var index = list.IndexOf(itemData);

            currentListElement.listItems.Insert(index, listItemComponent);

            // Load the data from 'itemData' and apply it to our new list element
            ApplyViewModelData(element, itemData, dataSource, itemTemplate, list, null, true, true);

            // apply our attributes (especially necessary for things like event handlers and the like)
            element.Initialise(currentXmlLayoutInstance, element.rectTransform, element.tagHandler);
            element.ApplyAttributes();

            element.AnimationDuration = currentListElement.itemAnimationDuration;
            element.ShowAnimation     = currentListElement.itemShowAnimation;
            element.HideAnimation     = currentListElement.itemHideAnimation;

            if (element.ShowAnimation != "None")
            {
                element.Show();
            }

            // Rebuild the layout at the end of the frame
            XmlLayoutTimer.AtEndOfFrame(() => LayoutRebuilder.MarkLayoutForRebuild(element.rectTransform), element);

#if UNITY_5_4
            // Due to differences in how 5.4 and 5.5 handle layout rebuilds, we sometimes have to manually notify child TableLayouts to update
            XmlLayoutTimer.DelayedCall(0.05f, () =>
            {
                var tableLayouts = element.GetComponentsInChildren <UI.Tables.TableLayout>();
                foreach (var tableLayout in tableLayouts)
                {
                    tableLayout.UpdateLayout();
                }
            }, element);
#endif
        }
Exemplo n.º 9
0
        public void Select(Interactable interactable)
        {
            if (CanInteract)
            {
                selected = interactable;
                interactable.Hilight();

                ActionPopup.gameObject.SetActive(true);
                ActionText.text = "E: " + interactable.ActionDescription;
                LayoutRebuilder.MarkLayoutForRebuild(ActionPopup);
            }
        }
Exemplo n.º 10
0
        /// <summary>
        /// Override to alter or add to the code that caches data to avoid repeated heavy operations.
        /// </summary>
        protected void SetDirtyCaching()
        {
            if (!IsActive())
            {
                return;
            }

            CanvasUpdateRegistry.RegisterCanvasElementForLayoutRebuild(this);
            LayoutRebuilder.MarkLayoutForRebuild(rectTransform);

            m_ViewRect = null;
        }
Exemplo n.º 11
0
        public void Update()
        {
            var newValue = _basePadding + (int)_paddingDriver.rect.height;

            if (_layoutGroup.padding.top == newValue)
            {
                return;
            }
            _layoutGroup.padding.top = newValue;

            LayoutRebuilder.MarkLayoutForRebuild(_rectTransform);
        }
Exemplo n.º 12
0
        public void ApplyModifyValue()
        {
            rectTransform.offsetMin = new Vector2(margin.modifyLeft ? margin.left : rectTransform.offsetMin.x,
                                                  margin.modifyBottom ? margin.bottom : rectTransform.offsetMin.y); // new Vector2(left, bottom);
            rectTransform.offsetMax = new Vector2(margin.modifyRight ? -margin.right : rectTransform.offsetMax.x,
                                                  margin.modifyTop ? -margin.top : rectTransform.offsetMax.y);      // new Vector2(-right, -top);

            if (RebuildLayoutAfterFix == false && Application.isPlaying && gameObject.activeSelf)
            {
                LayoutRebuilder.MarkLayoutForRebuild(transform as RectTransform);
            }
        }
Exemplo n.º 13
0
        void UpdateLayout(int x, int y = 0)
        {
            _layoutPositionX = x;
            _layoutPositionY = y;
            RectOffset padding = _layout.padding;

            padding.left    = x;
            padding.right   = x;
            padding.bottom  = y;
            _layout.padding = padding;
            LayoutRebuilder.MarkLayoutForRebuild(_layoutRectTransform);
        }
Exemplo n.º 14
0
            private void OnToggle(GameObject source, bool open)
            {
                var obj = ChildPanel;

                if (obj != null)
                {
                    // Scale to 0x0 if not visible
                    var rt = obj.rectTransform();
                    rt.localScale = open ? Vector3.one : Vector3.zero;
                    LayoutRebuilder.MarkLayoutForRebuild(rt);
                }
            }
Exemplo n.º 15
0
        public Tween FadeOut()
        {
            m_Skip = true;
            Alpha  = 1;
            Sequence sequence = DOTween.Sequence();

            sequence.Append(DOTween.To(() => Alpha, v => Alpha = v, 0, 0.5f))
            .Insert(0, DOTween.To(() => LayoutGroup.padding.bottom, v => LayoutGroup.padding.bottom = v, m_HiddenBottomPadding, 0.5f))
            .OnUpdate(() => LayoutRebuilder.MarkLayoutForRebuild(CanvasTransform))
            .OnComplete(() => UnityUtils.DestroyObject(this));
            return(sequence);
        }
Exemplo n.º 16
0
    public void ReCalculate()
    {
        if (!gameObject.activeInHierarchy)
        {
            return;
        }

        if (!layoutGroup)
        {
            layoutGroup = GetComponent <LayoutGroup>();
        }

        if (!transform)
        {
            transform = gameObject.transform as RectTransform;
        }
        int children = transform.childCount;

        for (int i = 0; i < transform.childCount; i++)
        {
            if (!transform.GetChild(i).gameObject.activeSelf)
            {
                children -= 1;
            }
        }

        if (layoutGroup is HorizontalLayoutGroup)
        {
            float w = (width * children) + (((HorizontalLayoutGroup)layoutGroup).spacing * (children - 1)) + layoutGroup.padding.left + layoutGroup.padding.right;
            float h = height + layoutGroup.padding.top + layoutGroup.padding.bottom;

            if (height == 0)
            {
                h = transform.sizeDelta.y;
            }

            transform.sizeDelta = new Vector2(w, h);
        }
        else
        {
            float w = width + layoutGroup.padding.left + layoutGroup.padding.right;
            float h = (height * children) + (((VerticalLayoutGroup)layoutGroup).spacing * (children - 1)) + layoutGroup.padding.top + layoutGroup.padding.bottom;

            if (width == 0)
            {
                w = transform.sizeDelta.x;
            }

            transform.sizeDelta = new Vector2(w, h);
        }

        LayoutRebuilder.MarkLayoutForRebuild(transform);
    }
Exemplo n.º 17
0
 public void UpdateQuest(QuestData q)
 {
     foreach (UI_Quest ui in TrackedQuests)
     {
         if (ui.QuestID == q.ID)
         {
             ui.UpdateUI(q);
             break;
         }
     }
     LayoutRebuilder.MarkLayoutForRebuild(GetComponent <RectTransform>());
 }
        private static IEnumerator FixLayout(RectTransform rt)
        {
            yield return(new WaitUntil(() => rt.gameObject.activeInHierarchy));

            yield return(null);

#if KKS
            // Need to fix text positioning in KKS
            rt.GetComponent <HorizontalLayoutGroup>().enabled = true;
#endif
            LayoutRebuilder.MarkLayoutForRebuild(rt);
        }
Exemplo n.º 19
0
        /// <summary>
        /// Called when selecting a new node
        /// </summary>
        /// <param name="node">The new node to display UI for</param>
        public void SetTarget(Node node)
        {
            _target = node;

            shop.EnableModuleInventory(node.turret.GetComponent <Turret>());

            // Move the UI to be above the node
            transform.position = _target.transform.position;

            // Removes module icons created from the previously selected turret
            for (int i = 0; i < modules.childCount; i++)
            {
                Destroy(modules.GetChild(i).gameObject);
            }

            // Add each Module as an icon
            foreach (Module module in _target.turret.GetComponent <Turret>().modules)
            {
                GameObject moduleIcon = Instantiate(moduleIconPrefab, modules);
                moduleIcon.name = "_" + moduleIcon.name;
                moduleIcon.GetComponent <ModuleIcon>().SetData(module);
                foreach (Image image in moduleIcon.GetComponentsInChildren <Image>())
                {
                    image.raycastTarget = false;
                }

                moduleIcon.GetComponentsInChildren <Image>();
            }

            // Display the radius of the turret
            _target.turret.GetComponent <Turret>().Selected();

            // Enable the UI
            ui.SetActive(true);

            // Enable/Disable Targeting types cycle button if it's (not) a dynamic turret.
            if (_target.turret.GetComponent <Turret>() is DynamicTurret)
            {
                cycleTargetingButton.SetActive(true);
                cycleTargetingButton.transform.GetChild(0).GetComponent <TMP_Text>().text = "<b>Targeting:</b>\n" +
                                                                                            _target.turret.GetComponent <DynamicTurret>().targetingMethod;
            }
            else
            {
                cycleTargetingButton.SetActive(false);
            }


            // Rebuild the Modules and add the stats
            LayoutRebuilder.MarkLayoutForRebuild((RectTransform)modules);
            UpdateStats();
        }
Exemplo n.º 20
0
    public void Cast()
    {
        oldterm      = proposal.readTerm();
        evalmode.val = true;
        onApply.Invoke();
        effectAudioEvent.Invoke(7); //Cast Spell Sound

        List <Term> args = Enumerable.Range(0, arity)
                           .Select(i => Term.Leaf(Sum <Combinator, Variable> .Inr((Variable)i))).ToList();

        proposal.Append(args);

        LayoutTracker arg_paren = variable_symbols_here.GetComponentInChildren <LayoutTracker>();


        List <Transform> ts = new List <Transform>();

        for (int i = 0; i < arg_paren.transform.childCount; i++)
        {
            ts.Add(arg_paren.transform.GetChild(i));
        }

        foreach (Transform variable in ts)
        {
            variable.GetComponent <LayoutTracker>().root = proposal.skeletonRoot;
            variable.SetParent(proposal.GetComponentInChildren <LayoutTracker>().transform, true);
        }

        term = proposal.readTerm();

        button.onClick.RemoveListener(Cast);
        button.onClick.AddListener(Step);
        button.GetComponent <Image>().sprite = stepSymbol;
        SkipButton.gameObject.SetActive(true);
        SkipBackButton.gameObject.SetActive(true);
        StepBackButton.gameObject.SetActive(true);
        StopButton.gameObject.SetActive(true);
        refreshButtons();
        LayoutRebuilder.MarkLayoutForRebuild(transform.parent.GetComponent <RectTransform>());

        if (target.goal.Equal(term))
        {
            Success.Invoke();
        }
        Debug.Log(arg_paren);
        Destroy(arg_paren);
        variable_symbols_here.gameObject.SetActive(false);
        foreach (var canvas in FindObjectsOfType <Canvas>())
        {
            LayoutRebuilder.MarkLayoutForRebuild(canvas.GetComponent <RectTransform>());
        }
    }
Exemplo n.º 21
0
    private static void Write(TextAsset storyPage)
    {
        if (instance == null)
        {
            Debug.LogWarning("There Is No Writer In Scene, Please Create or add one");
            return;
        }

        instance.activeStory = storyPage;
        instance.text.text   = storyPage.text;
        ClearDecisions();
        LayoutRebuilder.MarkLayoutForRebuild(instance.GetComponent <RectTransform>());
    }
Exemplo n.º 22
0
        private void ChildModelsChanged(object sender, NotifyCollectionChangedEventArgs e)
        {
            if (e.Action != NotifyCollectionChangedAction.Add)
            {
                foreach (var view in _views.Values)
                {
                    Destroy(view.gameObject);
                }
                _views.Clear();
            }

            LayoutRebuilder.MarkLayoutForRebuild(rectTransform);
        }
Exemplo n.º 23
0
    private IEnumerator SubtitleHideCouroutine(float time)
    {
        yield return(new WaitForSeconds(time));

        if (GameplayIngredientsSettings.currentSettings.verboseCalls)
        {
            Debug.Log("[SubtitleManager] Disabled Subtitle");
        }

        SubtitleContainer.SetActive(false);
        SubtitleText.text = "";
        LayoutRebuilder.MarkLayoutForRebuild(SubtitleContainer.GetComponent <RectTransform>());
    }
Exemplo n.º 24
0
        protected override void OnDisable()
        {
            // CanvasUpdateRegistry.UnRegisterCanvasElementForRebuild(this);

            if (m_VerticalScrollbar)
            {
                m_VerticalScrollbar.onValueChanged.RemoveListener(SetVerticalNormalizedPosition);
            }

            m_Velocity = Vector2.zero;
            LayoutRebuilder.MarkLayoutForRebuild(rectTransform);
            base.OnDisable();
        }
Exemplo n.º 25
0
 public void RemoveQuest(QuestData q)
 {
     foreach (UI_Quest ui in TrackedQuests)
     {
         if (ui.QuestID == q.ID)
         {
             Destroy(ui.gameObject);
             TrackedQuests.Remove(ui);
             break;
         }
     }
     LayoutRebuilder.MarkLayoutForRebuild(GetComponent <RectTransform>());
 }
Exemplo n.º 26
0
        public void SetMessage(string message, int maxWidth = -1, int maxHeight = -1)
        {
            m_RefMaximumSize    = new Vector2Int(maxWidth, maxHeight);
            m_SizeCheckRequired = true;

            var layoutElement = m_MessagesLabel.GetComponent <LayoutElement>();

            layoutElement.preferredWidth  = -1;
            layoutElement.preferredHeight = -1;

            m_MessagesLabel.SetText(message);
            LayoutRebuilder.MarkLayoutForRebuild(transform as RectTransform);
        }
Exemplo n.º 27
0
    private IEnumerator SubtitleShowCouroutine(string text, float time)
    {
        yield return(new WaitForSeconds(time));

        if (GameplayIngredientsSettings.currentSettings.verboseCalls)
        {
            Debug.Log(string.Format("[SubtitleManager] Set Subtitle : '{0}' at time {1}", text, time));
        }

        SubtitleContainer.SetActive(true);
        SubtitleText.text = text;
        LayoutRebuilder.MarkLayoutForRebuild(SubtitleContainer.GetComponent <RectTransform>());
    }
Exemplo n.º 28
0
        private IEnumerator Setup()
        {
            yield return(new WaitForEndOfFrame());

            LayoutElement         layoutElement         = m_Text.GetComponent <LayoutElement>();
            float                 buttonWidth           = m_ActionButton.GetComponent <MaterialButton>().preferredWidth;
            HorizontalLayoutGroup horizontalLayoutGroup = GetComponent <HorizontalLayoutGroup>();
            float                 otherWidth            = buttonWidth + horizontalLayoutGroup.padding.left + horizontalLayoutGroup.spacing;

            if (Screen.height > Screen.width)
            {
                float height = m_RectTransform.GetProperSize().y;
                GetComponent <ContentSizeFitter>().horizontalFit = ContentSizeFitter.FitMode.Unconstrained;
                m_RectTransform.sizeDelta = new Vector2(Screen.width, height);
                layoutElement.minWidth    = Screen.width - otherWidth - 4;
                m_PanelImage.sprite       = null;

                m_MaterialMovableFab = FindObjectOfType <MaterialMovableFab>();
                if (m_MaterialMovableFab != null)
                {
                    m_FabRectTransform = m_MaterialMovableFab.GetComponent <RectTransform>();
                    m_FabStartPos      = m_FabRectTransform.position.y;
                    m_MoveFab          = true;
                }
                else
                {
                    m_FabRectTransform = null;
                    m_MoveFab          = false;
                }
            }
            else
            {
                layoutElement.minWidth       = 288f - otherWidth;
                layoutElement.preferredWidth = -1f;

                LayoutRebuilder.MarkLayoutForRebuild(m_RectTransform);

                if (m_RectTransform.GetProperSize().x > 568f)
                {
                    layoutElement.preferredWidth = 568f;
                }
            }

            m_OffPos.y = -m_RectTransform.GetProperSize().y * 1.05f;
            m_RectTransform.position = m_OffPos;
            m_CurrentPosition        = m_RectTransform.position.y;

            GetComponent <CanvasGroup>().alpha = 1f;
            m_OnPos.y  = 0f;
            m_OffAlpha = 1f;
        }
        private static void OnPrefabInstanceUpdates(GameObject instance)
        {
            if (!(bool)((Object)instance))
            {
                return;
            }
            RectTransform transform = instance.transform as RectTransform;

            if (!(bool)((Object)transform))
            {
                return;
            }
            LayoutRebuilder.MarkLayoutForRebuild(transform);
        }
Exemplo n.º 30
0
        /// <summary>
        ///
        /// </summary>
        public override void SetLayoutDirty()
        {
            m_isPreferredWidthDirty  = true;
            m_isPreferredHeightDirty = true;

            if (this == null || !this.IsActive())
            {
                return;
            }

            LayoutRebuilder.MarkLayoutForRebuild(this.rectTransform);

            m_isLayoutDirty = true;
        }