internal override BaseUIElement convertFromLuaData(BaseUIElement bue)
        {
            UIGrid uib;

            if (bue == null)
            {
                uib = new UIGrid();
            }
            else
            {
                try
                {
                    uib = bue as UIGrid;
                }
                catch (Exception)
                {
                    uib = new UIGrid();
                }
            }

            UIGridTabItem layout = tabLayout.convertFromLuaData();

            if (layout != null)
            {
                HandleGridItems(layout, uib);
            }
            else
            {
                throw new Exception("UIGridTabItem layout is null--");
            }


            return(base.convertFromLuaData(uib));
        }
        internal UIGridTabItem convertFromLuaData()
        {
            UICollection uic = null;

            try
            {
                uic = elements.ConvertFromLua(LuaUICollection.luaStateConversion);
            }
            catch (Exception)
            {
                Console.WriteLine("Something went wrong converting UIGrid from LUA layout!");
            }

            UIGridTabItem tabItem = null;

            if (uic != null)
            {
                tabItem = new UIGridTabItem();
                tabItem.TabItemContents = uic;
            }
            else
            {
                tabItem = null;
            }

            return(tabItem);
        }
        private void HandleGridItems(UIGridTabItem layout, UIGrid uib)
        {
            uib.itemLayout = layout;
            ldc.ConvertCheck();

            foreach (var item in ldc.data)
            {
                UIGridTabItem temp = new UIGridTabItem();
                temp.AssignFromLayout(uib, layout, ldc.data.IndexOf(item));
                uib.gridItemsList.Add(temp);
            }
        }