/// <summary>
        /// Create component instance.
        /// </summary>
        /// <returns>Component instance.</returns>
        protected TComponent CreateComponent()
        {
            TComponent component;

            if (ComponentsCache.Count > 0)
            {
                component = ComponentsCache[ComponentsCache.Count - 1];
                ComponentsCache.RemoveAt(ComponentsCache.Count - 1);
            }
            else
            {
                component = Compatibility.Instantiate(template);
                component.transform.SetParent(Container, false);
                Utilites.FixInstantiated(template, component);
                component.Owner = Owner;
            }

            component.Index = -2;
            component.transform.SetAsLastSibling();
            component.gameObject.SetActive(true);

            CallbackAdd(component);

            return(component);
        }
        /// <summary>
        /// Adds page the component.
        /// </summary>
        /// <param name="page">Page.</param>
        protected virtual void AddComponent(int page)
        {
            ScrollRectPage component;

            if (DefaultPagesCache.Count > 0)
            {
                component = DefaultPagesCache[DefaultPagesCache.Count - 1];
                DefaultPagesCache.RemoveAt(DefaultPagesCache.Count - 1);
            }
            else
            {
                component = Compatibility.Instantiate(SRDefaultPage);
                component.transform.SetParent(SRDefaultPage.transform.parent, false);

                component.OnPageSelect.AddListener(GoToPage);

                Utilites.FixInstantiated(SRDefaultPage, component);
            }

            component.transform.SetAsLastSibling();
            component.gameObject.SetActive(true);
            component.SetPage(page);

            DefaultPages.Add(component);
        }
Exemple #3
0
 // Token: 0x06004925 RID: 18725 RVA: 0x00186ED4 File Offset: 0x001852D4
 private void CreateButtons()
 {
     if (this.tabObjects.Length > this.defaultButtons.Count)
     {
         for (int i = this.defaultButtons.Count; i < this.tabObjects.Length; i++)
         {
             Button button = UnityEngine.Object.Instantiate <Button>(this.DefaultTabButton);
             button.transform.SetParent(this.Container, false);
             Utilites.FixInstantiated(this.DefaultTabButton, button);
             this.defaultButtons.Add(button);
             Button button2 = UnityEngine.Object.Instantiate <Button>(this.ActiveTabButton);
             button2.transform.SetParent(this.Container, false);
             Utilites.FixInstantiated(this.ActiveTabButton, button2);
             this.activeButtons.Add(button2);
         }
     }
     if (this.tabObjects.Length < this.defaultButtons.Count)
     {
         for (int j = this.defaultButtons.Count; j > this.tabObjects.Length; j--)
         {
             UnityEngine.Object.Destroy(this.defaultButtons[j]);
             UnityEngine.Object.Destroy(this.activeButtons[j]);
             this.defaultButtons.RemoveAt(j);
             this.activeButtons.RemoveAt(j);
         }
     }
     this.defaultButtons.ForEach(new Action <Button, int>(this.SetButtonName));
     this.activeButtons.ForEach(new Action <Button, int>(this.SetButtonName));
 }
Exemple #4
0
        /// <summary>
        /// Gets the new components according max count of visible items.
        /// </summary>
        /// <returns>The new components.</returns>
        List <ListViewStringComponent> GetNewComponents()
        {
            componentsCache.RemoveAll(IsNullComponent);
            var new_components = new List <ListViewStringComponent>();

            DataSource.ForEach((x, i) => {
                if (i >= visibleItems)
                {
                    return;
                }

                if (components.Count > 0)
                {
                    new_components.Add(components[0]);
                    components.RemoveAt(0);
                }
                else if (componentsCache.Count > 0)
                {
                    componentsCache[0].gameObject.SetActive(true);
                    new_components.Add(componentsCache[0]);
                    componentsCache.RemoveAt(0);
                }
                else
                {
                                        #if UNITY_4_6 || UNITY_4_7
                    var background = Instantiate(DefaultItem) as ImageAdvanced;
                                        #else
                    var background = Instantiate(DefaultItem);
                                        #endif

                    background.gameObject.SetActive(true);

                    var component = background.GetComponent <ListViewStringComponent>();
                    if (component == null)
                    {
                        component            = background.gameObject.AddComponent <ListViewStringComponent>();
                        component.Background = background;
                        component.Text       = background.GetComponentInChildren <Text>();
                    }

                    Utilites.FixInstantiated(DefaultItem, background);
                    component.gameObject.SetActive(true);

                    new_components.Add(component);
                }
            });

            components.ForEach(x => {
                x.MovedToCache();
                x.Index = -1;
                x.gameObject.SetActive(false);
            });
            componentsCache.AddRange(components);
            components.Clear();

            return(new_components);
        }
Exemple #5
0
        // Token: 0x060046BE RID: 18110 RVA: 0x0017FD10 File Offset: 0x0017E110
        private Button GetButton()
        {
            if (this.buttonsCache.Count > 0)
            {
                return(this.buttonsCache.Pop());
            }
            Button button = UnityEngine.Object.Instantiate <Button>(this.DefaultButton);

            Utilites.FixInstantiated(this.DefaultButton, button);
            button.transform.SetParent(this.DefaultButton.transform.parent, false);
            return(button);
        }
Exemple #6
0
        /// <summary>
        /// Gets the button.
        /// </summary>
        /// <returns>The button.</returns>
        Button GetButton()
        {
            if (buttonsCache.Count > 0)
            {
                return(buttonsCache.Pop());
            }

            var button = Instantiate(DefaultButton) as Button;

            Utilites.FixInstantiated(DefaultButton, button);
            button.transform.SetParent(DefaultButton.transform.parent, false);

            return(button);
        }
Exemple #7
0
        // Token: 0x0600475C RID: 18268 RVA: 0x00182604 File Offset: 0x00180A04
        private List <ListViewStringComponent> GetNewComponents()
        {
            this.componentsCache = (from x in this.componentsCache
                                    where x != null
                                    select x).ToList <ListViewStringComponent>();
            List <ListViewStringComponent> new_components = new List <ListViewStringComponent>();

            this.strings.ForEach(delegate(string x, int i)
            {
                if (i >= this.visibleItems)
                {
                    return;
                }
                if (this.components.Count > 0)
                {
                    new_components.Add(this.components[0]);
                    this.components.RemoveAt(0);
                }
                else if (this.componentsCache.Count > 0)
                {
                    this.componentsCache[0].gameObject.SetActive(true);
                    new_components.Add(this.componentsCache[0]);
                    this.componentsCache.RemoveAt(0);
                }
                else
                {
                    ImageAdvanced imageAdvanced = UnityEngine.Object.Instantiate <ImageAdvanced>(this.DefaultItem);
                    imageAdvanced.gameObject.SetActive(true);
                    ListViewStringComponent listViewStringComponent = imageAdvanced.GetComponent <ListViewStringComponent>();
                    if (listViewStringComponent == null)
                    {
                        listViewStringComponent            = imageAdvanced.gameObject.AddComponent <ListViewStringComponent>();
                        listViewStringComponent.Background = imageAdvanced;
                        listViewStringComponent.Text       = imageAdvanced.GetComponentInChildren <Text>();
                    }
                    Utilites.FixInstantiated(this.DefaultItem, imageAdvanced);
                    listViewStringComponent.gameObject.SetActive(true);
                    new_components.Add(listViewStringComponent);
                }
            });
            this.components.ForEach(delegate(ListViewStringComponent x)
            {
                x.gameObject.SetActive(false);
            });
            this.componentsCache.AddRange(this.components);
            this.components.Clear();
            return(new_components);
        }
Exemple #8
0
        void AddComponent(int index)
        {
            TComponent component;

            if (componentsCache.Count > 0)
            {
                component = componentsCache[componentsCache.Count - 1];
                componentsCache.RemoveAt(componentsCache.Count - 1);
            }
            else
            {
                component = Instantiate(DefaultItem) as TComponent;
                Utilites.FixInstantiated(DefaultItem, component);
            }
            component.Index = -1;
            component.transform.SetAsLastSibling();
            component.gameObject.SetActive(true);
            components.Add(component);
        }
Exemple #9
0
        /// <summary>
        /// Adds the component.
        /// </summary>
        /// <param name="index">Index.</param>
        protected virtual void AddComponent(int index)
        {
            TComponent component;

            if (componentsCache.Count > 0)
            {
                component = componentsCache[componentsCache.Count - 1];
                componentsCache.RemoveAt(componentsCache.Count - 1);
            }
            else
            {
                component = Instantiate(current) as TComponent;
                component.transform.SetParent(current.transform.parent);
                Utilites.FixInstantiated(current, component);
            }
            component.Index = -1;
            component.transform.SetAsLastSibling();
            component.gameObject.SetActive(true);
            components.Add(component);
        }
        /// <summary>
        /// Create header from day of week template.
        /// </summary>
        protected virtual void GenerateHeader()
        {
            if (CalendarDayOfWeekTemplate == null)
            {
                return;
            }

            for (int i = Header.Count; i < DaysInWeek; i++)
            {
                var day_of_week = Compatibility.Instantiate(CalendarDayOfWeekTemplate);
                day_of_week.transform.SetParent(HeaderContainer, false);
                Utilites.FixInstantiated(CalendarDayOfWeekTemplate, day_of_week);

                day_of_week.Calendar = this;

                day_of_week.gameObject.SetActive(true);

                Header.Add(day_of_week);
            }
        }
        /// <summary>
        /// Get instance.
        /// </summary>
        /// <returns>Instance.</returns>
        public TComponent GetInstance()
        {
            TComponent instance;

            if (cache.Count > 0)
            {
                instance = cache.Pop();
            }
            else
            {
                instance = Compatibility.Instantiate(DefaultItem);
                Utilites.FixInstantiated(DefaultItem, instance);
                instance.transform.SetParent(parent, false);
            }

            instance.gameObject.SetActive(true);
            active.Add(instance);

            return(instance);
        }
Exemple #12
0
        // Token: 0x060047D0 RID: 18384 RVA: 0x0017B6A4 File Offset: 0x00179AA4
        private List <TComponent> GetNewComponents()
        {
            this.componentsCache = (from x in this.componentsCache
                                    where x != null
                                    select x).ToList <TComponent>();
            List <TComponent> new_components = new List <TComponent>();

            this.customItems.ForEach(delegate(TItem x, int i)
            {
                if (i >= this.visibleItems)
                {
                    return;
                }
                if (this.components.Count > 0)
                {
                    new_components.Add(this.components[0]);
                    this.components.RemoveAt(0);
                }
                else if (this.componentsCache.Count > 0)
                {
                    TComponent tcomponent = this.componentsCache[0];
                    tcomponent.gameObject.SetActive(true);
                    new_components.Add(this.componentsCache[0]);
                    this.componentsCache.RemoveAt(0);
                }
                else
                {
                    TComponent tcomponent2 = UnityEngine.Object.Instantiate <TComponent>(this.DefaultItem);
                    Utilites.FixInstantiated(this.DefaultItem, tcomponent2);
                    tcomponent2.gameObject.SetActive(true);
                    new_components.Add(tcomponent2);
                }
            });
            this.components.ForEach(delegate(TComponent x)
            {
                x.gameObject.SetActive(false);
            });
            this.componentsCache.AddRange(this.components);
            this.components.Clear();
            return(new_components);
        }
        /// <summary>
        /// Get new component instance.
        /// </summary>
        /// <returns>Component instance.</returns>
        protected TComponent GetComponentInstance()
        {
            TComponent component;

            if (Cache.Count > 0)
            {
                component = Cache.Pop();
            }
            else
            {
                component = Compatibility.Instantiate(defaultItem);
                component.transform.SetParent(container, false);
                Utilites.FixInstantiated(defaultItem, component);
            }

            component.gameObject.SetActive(true);

            Used.Add(component);

            return(component);
        }
Exemple #14
0
        /// <summary>
        /// Create component instance.
        /// </summary>
        /// <returns>Component instance.</returns>
        protected ScrollerItem CreateComponent()
        {
            ScrollerItem component;

            if (ComponentsCache.Count > 0)
            {
                component = ComponentsCache[ComponentsCache.Count - 1];
                ComponentsCache.RemoveAt(ComponentsCache.Count - 1);
            }
            else
            {
                component = Compatibility.Instantiate(DefaultItem);
                component.transform.SetParent(transform, false);
                Utilites.FixInstantiated(DefaultItem, component);
                component.Owner = this;
            }

            component.gameObject.SetActive(true);

            return(component);
        }
        /// <summary>
        /// Instantiated date component from template.
        /// </summary>
        /// <returns>Date component.</returns>
        protected virtual CalendarDateBase GenerateDay()
        {
            CalendarDateBase day;

            if (Cache.Count > 0)
            {
                day = Cache.Pop();
            }
            else
            {
                day = Compatibility.Instantiate(CalendarDateTemplate);
                day.transform.SetParent(Container, false);
                Utilites.FixInstantiated(CalendarDateTemplate, day);

                day.Calendar = this;
            }

            day.gameObject.SetActive(true);
            day.transform.SetAsLastSibling();

            return(day);
        }
        /// <summary>
        /// Adds the component.
        /// </summary>
        protected virtual void AddComponent()
        {
            TComponent component;

            if (componentsCache.Count > 0)
            {
                component = componentsCache[componentsCache.Count - 1];
                componentsCache.RemoveAt(componentsCache.Count - 1);
            }
            else
            {
                component = Compatibility.Instantiate(current);
                component.transform.SetParent(current.transform.parent, false);

                Utilites.FixInstantiated(current, component);
            }

            component.Index = -2;
            component.Owner = ListView;
            component.transform.SetAsLastSibling();
            component.gameObject.SetActive(true);
            components.Add(component);
        }
Exemple #17
0
        /// <summary>
        /// Creates the buttons.
        /// </summary>
        void CreateButtons()
        {
            if (tabObjects.Length > defaultButtons.Count)
            {
                for (var i = defaultButtons.Count; i < tabObjects.Length; i++)
                {
                    var defaultButton = Instantiate(DefaultTabButton) as Button;
                    defaultButton.transform.SetParent(Container, false);

                    Utilites.FixInstantiated(DefaultTabButton, defaultButton);

                    defaultButtons.Add(defaultButton);

                    var activeButton = Instantiate(ActiveTabButton) as Button;
                    activeButton.transform.SetParent(Container, false);

                    Utilites.FixInstantiated(ActiveTabButton, activeButton);

                    activeButtons.Add(activeButton);
                }
            }
            //del existing ui elements if necessary
            if (tabObjects.Length < defaultButtons.Count)
            {
                for (var i = defaultButtons.Count; i > tabObjects.Length; i--)
                {
                    Destroy(defaultButtons[i]);
                    Destroy(activeButtons[i]);

                    defaultButtons.RemoveAt(i);
                    activeButtons.RemoveAt(i);
                }
            }

            defaultButtons.ForEach(SetButtonName);
            activeButtons.ForEach(SetButtonName);
        }
Exemple #18
0
        List <TComponent> GetNewComponents()
        {
            componentsCache = componentsCache.Where(x => x != null).ToList();
            var new_components = new List <TComponent>();

            customItems.ForEach((x, i) => {
                if (i >= visibleItems)
                {
                    return;
                }

                if (components.Count > 0)
                {
                    new_components.Add(components[0]);
                    components.RemoveAt(0);
                }
                else if (componentsCache.Count > 0)
                {
                    componentsCache[0].gameObject.SetActive(true);
                    new_components.Add(componentsCache[0]);
                    componentsCache.RemoveAt(0);
                }
                else
                {
                    var component = Instantiate(DefaultItem) as TComponent;
                    Utilites.FixInstantiated(DefaultItem, component);
                    component.gameObject.SetActive(true);
                    new_components.Add(component);
                }
            });

            components.ForEach(x => x.gameObject.SetActive(false));
            componentsCache.AddRange(components);
            components.Clear();

            return(new_components);
        }
Exemple #19
0
        void CreateButtons()
        {
            if (KeepTabsActive)
            {
                tabObjects[_selectedTab].TabObject.transform.SetAsLastSibling();
            }
            else
            {
                tabObjects.ForEach(x => x.TabObject.SetActive(false));
                tabObjects[_selectedTab].TabObject.SetActive(true);
            }
            if (tabObjects.Length > defaultButtons.Count)
            {
                for (var i = defaultButtons.Count; i < tabObjects.Length; i++)
                {
                    var defaultButton = Instantiate(DefaultTabButton) as Button;
                    defaultButton.transform.SetParent(Container, false);
                    if (i == _selectedTab || !TabObjects[i].Activated)
                    {
                        defaultButton.gameObject.SetActive(false);
                    }
                    else
                    {
                        defaultButton.gameObject.SetActive(true);
                    }

                    Utilites.FixInstantiated(DefaultTabButton, defaultButton);

                    defaultButtons.Add(defaultButton);

                    var activeButton = Instantiate(ActiveTabButton) as Button;
                    activeButton.transform.SetParent(Container, false);
                    if (i == _selectedTab)
                    {
                        activeButton.gameObject.SetActive(true);
                    }
                    else
                    {
                        activeButton.gameObject.SetActive(false);
                    }

                    Utilites.FixInstantiated(ActiveTabButton, activeButton);

                    activeButtons.Add(activeButton);
                }
            }
            //del existing ui elements if necessary
            if (tabObjects.Length < defaultButtons.Count)
            {
                for (var i = defaultButtons.Count; i > tabObjects.Length; i--)
                {
                    Destroy(defaultButtons[i]);
                    Destroy(activeButtons[i]);

                    defaultButtons.RemoveAt(i);
                    activeButtons.RemoveAt(i);
                }
            }

            defaultButtons.ForEach(SetButtonName);
            activeButtons.ForEach(SetButtonName);
        }
Exemple #20
0
 // Token: 0x06004945 RID: 18757 RVA: 0x001877E1 File Offset: 0x00185BE1
 public static void FixInstantiated(Component source, Component instance)
 {
     Utilites.FixInstantiated(source.gameObject, instance.gameObject);
 }