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; } } }