Example #1
0
    public void UpdateItems()
    {
        //IL_0007: Unknown result type (might be due to invalid IL or missing references)
        //IL_000c: Unknown result type (might be due to invalid IL or missing references)
        //IL_0011: Unknown result type (might be due to invalid IL or missing references)
        //IL_007f: Unknown result type (might be due to invalid IL or missing references)
        //IL_0084: Expected O, but got Unknown
        //IL_0191: Unknown result type (might be due to invalid IL or missing references)
        //IL_0196: Expected O, but got Unknown
        //IL_01a2: Unknown result type (might be due to invalid IL or missing references)
        //IL_01a7: Expected O, but got Unknown
        //IL_01ee: Unknown result type (might be due to invalid IL or missing references)
        //IL_0230: Unknown result type (might be due to invalid IL or missing references)
        //IL_0235: Expected O, but got Unknown
        //IL_0279: Unknown result type (might be due to invalid IL or missing references)
        //IL_027e: Expected O, but got Unknown
        //IL_029d: Unknown result type (might be due to invalid IL or missing references)
        //IL_02a2: Expected O, but got Unknown
        //IL_02cd: Unknown result type (might be due to invalid IL or missing references)
        scrollViewPos = scrollView.get_transform().get_localPosition();
        UIPanel   panel           = scrollView.panel;
        Transform cachedTransform = panel.cachedTransform;
        int       i = 0;

        for (int count = itemWidgets.Count; i < count; i++)
        {
            UIWidget uIWidget = itemWidgets[i];
            if (panel.IsVisible(uIWidget))
            {
                int       arg = int.Parse(uIWidget.get_name());
                Transform val;
                bool      arg2;
                if (uIWidget.cachedTransform.get_childCount() > 0)
                {
                    val = uIWidget.cachedTransform.GetChild(0);
                    if (showItems.Contains(val))
                    {
                        continue;
                    }
                    arg2 = true;
                    hideItems.Remove(val);
                }
                else
                {
                    int count2 = hideItems.Count;
                    if (count2 > 0)
                    {
                        count2--;
                        val = hideItems[count2];
                        hideItems.RemoveAt(count2);
                        val.SetParent(uIWidget.cachedTransform, false);
                        arg2 = true;
                    }
                    else
                    {
                        val = ((createItemFunc != null) ? createItemFunc(arg, uIWidget.cachedTransform) : ((!(itemPrefab != null)) ? null : ResourceUtility.Realizes(itemPrefab, uIWidget.cachedTransform, 5)));
                        if (val != null)
                        {
                            UIPanel componentInChildren = val.GetComponentInChildren <UIPanel>();
                            if (componentInChildren != null)
                            {
                                componentInChildren.depth = panel.depth + 1;
                            }
                        }
                        else
                        {
                            GameObject val2 = new GameObject("item");
                            val2.set_layer(5);
                            val = val2.get_transform();
                            val.SetParent(uIWidget.cachedTransform, false);
                            val2.AddComponent <UIDragScrollView>().scrollView = scrollView;
                        }
                        if (needCenterOnClickChild)
                        {
                            UIUtility.AddCenterOnClickChild(val);
                        }
                        arg2 = false;
                    }
                }
                showItems.Add(val);
                val.get_gameObject().SetActive(true);
                initItemFunc(arg, val, arg2);
                UIUtility.UpdateAnchors(val);
            }
            else if (uIWidget.cachedTransform.get_childCount() > 0)
            {
                Transform val3 = uIWidget.cachedTransform.GetChild(0);
                if (showItems.Contains(val3))
                {
                    showItems.Remove(val3);
                    hideItems.Add(val3);
                    if (UICamera.selectedObject != null)
                    {
                        Transform val4 = UICamera.selectedObject.get_transform();
                        while (val4 != null)
                        {
                            if (!(cachedTransform != val4))
                            {
                                break;
                            }
                            if (val3 == val4)
                            {
                                val3 = null;
                                break;
                            }
                            val4 = val4.get_parent();
                        }
                    }
                    if (val3 != null)
                    {
                        val3.get_gameObject().SetActive(false);
                    }
                }
            }
        }
    }