public void Initialize(ContentManager content, string searchCode)
        {
            NavRoomSectionCombiner combiner = new NavRoomSectionCombiner();
            GameClient             session  = RetroEnvironment.GetGame().GetClientManager().GetClientByUserID(GameScreenManager.Instance.ClientID);

            identifyers = session.GetCategorysByIdentifyer(searchCode).ToArray();

            navSections   = new NavRoomSection[identifyers.Length];
            this.sections = navSections.ToList();

            Vector2i offset = new Vector2i();

            for (int i = 0; i < identifyers.Length; i++)
            {
                int bodySize = 0;
                navSections[i] = new NavRoomSection(content, identifyers[i], offset, new Vector2i(view.GetViewSize().X, 29), out bodySize);
                offset        += new Vector2i(0, navSections[i].GetSize().Y + 5);
                if (!identifyers[i].isCollapsed)
                {
                    offset += new Vector2i(0, bodySize);
                }
            }

            view.SetContent(combiner.AddSections(navSections).GetImages());
            view.SetText(combiner.AddSections(navSections).GetFonts());
            isInitialized = true;
        }
        public override void Update(GameTime gameTime)
        {
            if (isInitialized)
            {
                base.Update(gameTime);
                backdrop.resize(size.X - 6, size.Y - headerHeight - 33 - edgeBottom.dimensions.Y);
                backdrop.Update(gameTime);

                hiddenLine.resize(size.X - 6, hiddenLine.dimensions.Y);
                hiddenLine.Update(gameTime);

                foreach (InMenuButton menuButton in menuButtons)
                {
                    menuButton.Update(gameTime);
                }

                dropdown.SetPosition(position + offset + new Vector2i(14, 43 + headerHeight));
                dropdown.Update(gameTime);

                view.Update(gameTime, position + new Vector2i(14, headerHeight + 75));

                try
                {
                    foreach (NavRoomSection section in navSections)
                    {
                        section.Update(gameTime, view.GetPosition() - view.GetScrolled(), ref view);
                    }
                }catch
                {
                    Logger.Warn("Can not render a Navigator Body!! Soo loading???!");
                }

                if (view.texturesChanged)
                {
                    Vector2i offset = new Vector2i();
                    for (int i = 0; i < navSections.Length; i++)
                    {
                        int            bodySize = 0;
                        NavRoomSection section  = navSections[i];
                        section.UpdatePosition(offset, out bodySize);
                        offset += new Vector2i(0, navSections[i].GetSize().Y + 5);
                        if (!identifyers[i].isCollapsed)
                        {
                            offset += new Vector2i(0, bodySize);
                        }
                    }
                    NavRoomSectionCombiner combiner = new NavRoomSectionCombiner();
                    view.SetContent(combiner.AddSections(navSections).GetImages());
                    view.SetText(combiner.AddSections(navSections).GetFonts());
                    view.texturesChanged = false;
                }
            }
        }