internal static bool Draw(ref OptionsMenu __instance, GameTime gameTime) { if (!isInPathfinderMenu) { return(true); } PostProcessor.begin(); GuiData.startDraw(); PatternDrawer.draw(new Rectangle(0, 0, __instance.ScreenManager.GraphicsDevice.Viewport.Width, __instance.ScreenManager.GraphicsDevice.Viewport.Height), 0.5f, Color.Black, new Color(2, 2, 2), GuiData.spriteBatch); if (ReturnButton.Do()) { currentTabName = null; isInPathfinderMenu = false; GuiData.endDraw(); PostProcessor.end(); var saveEvent = new CustomOptionsSaveEvent(); EventManager <CustomOptionsSaveEvent> .InvokeAll(saveEvent); return(false); } var tabs = OptionsManager.Tabs; int tabX = 10; foreach (var tab in tabs.Values) { if (currentTabName == null) { currentTabName = tab.Name; } var active = currentTabName == tab.Name; // Display tab button if (Button.doButton(tab.ButtonID, tabX, 70, 128, 20, tab.Name, active ? Color.Green : Color.Gray)) { currentTabName = tab.Name; break; } tabX += 128 + 10; if (currentTabName != tab.Name) { continue; } // Display options int optX = 80, optY = 110; foreach (var option in tab.Options) { option.Draw(optX, optY); optY += 10 + option.SizeY; } } GuiData.endDraw(); PostProcessor.end(); return(false); }
public UserControl1() { InitializeComponent(); var path = @"..\..\..\Samples\RHCP_GiveItAway1.drumz.pat.json"; var pattern = Drumz.Common.Beats.IO.PatternIO.Load(path); bpm = pattern.Info.SuggestedBpm; var settings = new GridDrawer.Settings { BeatWidth = 64, FontSize = 20, LineHeight = 24 }; patternDrawer = new PatternDrawer(pattern, settings, 2); playAnalysis = new PlayAnalysisSession(new PlayAnalysisSession.Settings(), pattern); foreach (var sound in pattern.Sounds.Sounds) { char key = sound.Instrument.Name[0]; while (instrumentKeys.ContainsKey(key)) { ++key; } instrumentKeys.Add(key, sound); } playAnalysis.NewPlayedBeat += patternDrawer.AddPlayedBeat; playAnalysis.PlayedBeatStatusSet += patternDrawer.SetPlayedBeatStatus; playAnalysis.Tick += PlayAnalysis_Tick; Drumz.Common.Diagnostics.Logger.Instance.Log += Instance_Log; }
public override void Draw(float t) { base.Draw(t); this.spriteBatch.Draw(Utils.white, this.infoBar, this.userScreen.indentBackgroundColor); this.infoBarUsedRam.Width = (int)((float)this.infoBar.Width * (1f - 800 - (OS.TOP_BAR_HEIGHT + 2) / (float)800 - (OS.TOP_BAR_HEIGHT + 2))); this.spriteBatch.Draw(Utils.white, this.infoBarUsedRam, RamModule.USED_RAM_COLOR); this.spriteBatch.DrawString(GuiData.detailfont, "hello", new Vector2((float)this.infoBar.X, (float)this.infoBar.Y), Color.White); if (this.OutOfMemoryFlashTime > 0f) { float scale = System.Math.Min(1f, this.OutOfMemoryFlashTime); float amount = System.Math.Max(0f, this.OutOfMemoryFlashTime - (RamModule.FLASH_TIME - 1f)); Color patternColor = Color.Lerp(this.userScreen.lockedColor, Utils.AddativeRed, amount) * scale; PatternDrawer.draw(this.bounds, 0f, Color.Transparent, patternColor, this.spriteBatch, PatternDrawer.errorTile); int num = 40; Rectangle rectangle = new Rectangle(this.bounds.X, this.bounds.Y + this.bounds.Height - num - 1, this.bounds.Width, num); this.spriteBatch.Draw(Utils.white, Utils.InsetRectangle(rectangle, 4), Color.Black * 0.75f); rectangle.X--; string text = " ^ " + LocaleTerms.Loc("INSUFFICIENT MEMORY") + " ^ "; Hacknet.Gui.TextItem.doFontLabelToSize(rectangle, text, GuiData.font, Color.Black * scale, false, false); rectangle.X += 2; Hacknet.Gui.TextItem.doFontLabelToSize(rectangle, text, GuiData.font, Color.Black * scale, false, false); rectangle.X--; Hacknet.Gui.TextItem.doFontLabelToSize(rectangle, text, GuiData.font, Color.White * scale, false, false); } }
public static void RenderAltitudeIndicator(Rectangle dest, SpriteBatch sb, int currentAltitude, bool IsInCriticalDescenet, bool IconFlashIsVisible, int maxAltitude = 50000, int upperReccomended = 40000, int lowerReccomended = 30000, int warningArea = 14000, int criticalFailureArea = 3000) { if (AircraftAltitudeIndicator.WarningIcon == null) { AircraftAltitudeIndicator.Init(OS.currentInstance.content); } bool flag = currentAltitude <= 0; if (flag) { currentAltitude = maxAltitude; } int width1 = Math.Min(dest.Width, 100); Rectangle destinationRectangle1 = new Rectangle(dest.X + dest.Width - width1, dest.Y, width1, dest.Height); int width2 = 200; Rectangle dest1 = new Rectangle(dest.X + dest.Width - width2, destinationRectangle1.Y, width2, 21); Color color = IsInCriticalDescenet ? Utils.AddativeRed : OS.currentInstance.highlightColor; Rectangle rectangle = destinationRectangle1; rectangle.Width = width1 / 2; rectangle.X = dest.X + dest.Width - rectangle.Width; sb.Draw(Utils.gradientLeftRight, rectangle, color * 0.2f); int heightForAltitude = AircraftAltitudeIndicator.GetHeightForAltitude(currentAltitude, maxAltitude, rectangle); destinationRectangle1.Y += heightForAltitude; destinationRectangle1.Height -= heightForAltitude; sb.Draw(Utils.gradientLeftRight, destinationRectangle1, color); AircraftAltitudeIndicator.DrawIndicatorForAltitude(dest1, maxAltitude, LocaleTerms.Loc("Maximum Altitude"), maxAltitude, rectangle, sb, color, true, true); AircraftAltitudeIndicator.DrawIndicatorForAltitude(dest1, upperReccomended, LocaleTerms.Loc("Maximum Cruising Altitude"), maxAltitude, rectangle, sb, color, false, false); AircraftAltitudeIndicator.DrawIndicatorForAltitude(dest1, lowerReccomended, LocaleTerms.Loc("Minimum Cruising Altitude"), maxAltitude, rectangle, sb, color, false, false); AircraftAltitudeIndicator.DrawIndicatorForAltitude(dest1, warningArea, LocaleTerms.Loc("Unsafe Altitude Margin"), maxAltitude, rectangle, sb, color, false, false); dest1.Height *= 2; AircraftAltitudeIndicator.DrawIndicatorForAltitude(dest1, criticalFailureArea, LocaleTerms.Loc("Critical Failure Region") + "\n- " + LocaleTerms.Loc("POINT OF NO RETURN") + " -", maxAltitude, rectangle, sb, Utils.makeColorAddative(color), true, false); dest1 = new Rectangle(dest1.X - 20, dest1.Y, dest1.Width + 20, dest1.Height + 10); AircraftAltitudeIndicator.DrawIndicatorForAltitude(dest1, currentAltitude, flag ? LocaleTerms.Loc("CRITICAL ERROR") + "\n" + LocaleTerms.Loc("SIGNAL LOST") : LocaleTerms.Loc("Current Altitude") + "\n" + string.Format("{0}ft", (object)currentAltitude), maxAltitude, rectangle, sb, color, true, false); int num = dest1.Height - 4; Rectangle rect = new Rectangle(dest1.X - num - 4, dest1.Y + AircraftAltitudeIndicator.GetHeightForAltitude(currentAltitude, maxAltitude, rectangle), num, num); Rectangle destinationRectangle2 = new Rectangle(dest1.X - num - 4, rect.Y, num + 4, dest1.Height); if (currentAltitude < lowerReccomended) { PatternDrawer.draw(new Rectangle(destinationRectangle2.X, destinationRectangle2.Y, destinationRectangle2.Width + dest1.Width, destinationRectangle2.Height), 0.2f, Color.Transparent, Color.Red * 0.2f, sb); } sb.Draw(Utils.white, destinationRectangle2, Color.Black * 0.4f); destinationRectangle2.Height = 1; sb.Draw(Utils.white, destinationRectangle2, color); rect.Y += 2; rect.X += 2; Rectangle destinationRectangle3 = Utils.InsetRectangle(rect, 4); if (IsInCriticalDescenet) { sb.Draw(AircraftAltitudeIndicator.WarningIcon, destinationRectangle3, Color.Red * (IconFlashIsVisible ? 1f : 0.3f)); } else { sb.Draw(AircraftAltitudeIndicator.PlaneIcon, destinationRectangle3, color); } }
public void Draw(Rectangle dest, SpriteBatch sb) { if (!IsActive) { return; } var num1 = timeElapsed; if (timeElapsed > 5.5) { num1 -= 5.5f; } if (num1 <= 0.5 && num1 % 0.100000001490116 < 0.0500000007450581) { return; } var height1 = 120; var num2 = timeElapsed / 6.0; var num3 = 1f; var num4 = 0.2f; if (timeElapsed < (double)num4) { num3 = timeElapsed / num4; height1 = (int)(height1 * (timeElapsed / (double)num4)); } else if (timeElapsed > 6.0 - num4) { var num5 = (float)(1.0 - (timeElapsed - (6.0 - num4))); num3 = num5; height1 = (int)(height1 * (double)num5); } var destinationRectangle = new Rectangle(dest.X, dest.Y + dest.Height / 2 - height1 / 2, dest.Width, height1); sb.Draw(Utils.white, destinationRectangle, Color.Black * 0.9f * num3); var text1 = "INCOMING CONNECTION"; var text2 = "External unsyndicated UDP traffic on port 22\nLogging all activity to ~/log"; var num6 = dest.Width / 3; var height2 = (int)(24.0 * num3); var dest1 = new Rectangle(destinationRectangle.X, destinationRectangle.Y, destinationRectangle.Width, height2); PatternDrawer.draw(dest1, 1f, Color.Transparent, DrawColor, sb, PatternDrawer.warningStripe); dest1.Y += height1 - height2; PatternDrawer.draw(dest1, 1f, Color.Transparent, DrawColor, sb, PatternDrawer.warningStripe); var width1 = 700; var rectangle1 = new Rectangle(destinationRectangle.X + destinationRectangle.Width / 2 - width1 / 2, destinationRectangle.Y, width1, destinationRectangle.Height); var width2 = (int)(CautionSign.Width / (double)CautionSign.Height * height1); var rectangle2 = new Rectangle(rectangle1.X, rectangle1.Y, width2, height1); rectangle2 = Utils.InsetRectangle(rectangle2, -30); sb.Draw(CautionSignBG, rectangle2, Color.Black * num3); var num7 = 4; rectangle2 = new Rectangle(rectangle2.X + num7, rectangle2.Y + num7, rectangle2.Width - num7 * 2, rectangle2.Height - num7 * 2); sb.Draw(CautionSign, rectangle2, Color.Lerp(Color.Red, DrawColor, (float)(0.949999988079071 + 0.0500000007450581 * Utils.rand()))); var dest2 = new Rectangle(rectangle1.X + rectangle2.Width + 2 * num7 - 18, rectangle1.Y + 4, rectangle1.Width - (rectangle2.Width + num7 * 2) + 20, (int)(rectangle1.Height * 0.8)); TextItem.doFontLabelToSize(dest2, text1, GuiData.titlefont, DrawColor); dest2.Y += dest2.Height - 27; dest2.Height = (int)(rectangle1.Height * 0.2); TextItem.doFontLabelToSize(dest2, text2, GuiData.detailfont, DrawColor * num3); }
private void doIRCModule() { var sb = spriteBatch; Rectangle dest = Utils.InsetRectangle(bounds, 2); Rectangle destinationRectangle = new Rectangle(dest.X, dest.Y - 1, 18, dest.Height + 2); sb.Draw(Utils.white, destinationRectangle, userScreen.moduleColorSolid); destinationRectangle.X += destinationRectangle.Width / 2; destinationRectangle.Width /= 2; sb.Draw(Utils.white, destinationRectangle, Color.Black * 0.2f); dest.X += 20; dest.Width -= 25; Rectangle rectangle = new Rectangle(dest.X + 4, dest.Y, dest.Width, 35); Hacknet.Gui.TextItem.doFontLabelToSize(rectangle, "Interweb Remote Com", GuiData.font, Color.White, true, true); int num = dest.Width / 4; int num2 = 22; if (Hacknet.Gui.Button.doButton(37849102, rectangle.X + rectangle.Width - 6 - num, rectangle.Y + rectangle.Height - rectangle.Height / 2 - num2 / 2, num, num2, LocaleTerms.Loc("Exit IRC"), userScreen.moduleColorSolid)) { this.userScreen.Execute("daemon exit"); this.state = DisplayState.SSH_SESSION; } rectangle.Y += rectangle.Height; rectangle.X -= 6; dest.Y += rectangle.Height; dest.Height -= rectangle.Height; rectangle.Height = 2; sb.Draw(Utils.white, rectangle, userScreen.moduleColorSolid); dest.Y += rectangle.Height + 2; dest.Height -= rectangle.Height + 2; dest.Height -= 6; PatternDrawer.draw(dest, 0.22f, Color.Black * 0.5f, /*flag ?*/ (userScreen.moduleColorSolid * 0.12f) /*: (Utils.AddativeRed * 0.2f)*/, sb, /*flag ? */ PatternDrawer.thinStripe /*: PatternDrawer.warningStripe*/); dest.X += 2; dest.Width -= 4; dest.Height -= 4; //if (flag) //{ var messages = ((IrcState)userScreen.activeSession.GetState()).GetMessages(); int _num = (int)(GuiData.ActiveFontConfig.tinyFontCharHeight + 4f); int _num2 = 4; int _num3 = (int)((float)dest.Height / (float)_num); int _num4 = _num3; int _num5 = messages.Count - 1; int _num6 = 0; int y = dest.Y; while (_num4 > 0 && _num5 >= 0 && dest.Height - _num6 > _num) { //bool needsNewMessagesLineDraw = this.messagesAddedSinceLastView > 0 && this.messagesAddedSinceLastView < logsFromFile.Count && logsFromFile.Count - num5 == this.messagesAddedSinceLastView; _num4 -= this.DrawIRCMessage(messages[_num5], dest, _num, _num4, y /*, needsNewMessagesLineDraw,*/, out dest); dest.Y -= _num2; _num6 += _num2; _num5--; } if (_num5 <= -1 && _num4 > 1) { int _num7 = _num + 8; Rectangle _rectangle = new Rectangle(dest.X, dest.Y + dest.Height - _num7, dest.Width, _num7); SpriteFont tinyfont = GuiData.tinyfont; //string text = "--- " + LocaleTerms.Loc("Log Cleared by Administrator") + " ---"; //Vector2 vector = tinyfont.MeasureString(text); //sb.DrawString(tinyfont, text, Utils.ClipVec2ForTextRendering(new Vector2((float)rectangle.X + (float)rectangle.Width / 2f - vector.X / 2f, (float)rectangle.Y + (float)rectangle.Height / 2f - vector.Y / 2f)), Color.Gray); } //} /*else * { * int num3 = dest.Height / 4; * Rectangle rectangle2 = new Rectangle(dest.X - 4, dest.Y + dest.Height / 2 - num3 / 2, dest.Width + 6, num3); * sb.Draw(Utils.white, rectangle2, this.userScreen.lockedColor); * rectangle2.Height -= 35; * Hacknet.Gui.TextItem.doCenteredFontLabel(rectangle2, LocaleTerms.Loc("Login To Server"), GuiData.font, Color.White, false); * if (Hacknet.Gui.Button.doButton(84109551, rectangle2.X + rectangle2.Width / 2 - rectangle2.Width / 4, rectangle2.Y + rectangle2.Height - 32, rectangle2.Width / 2, 28, "Login", null)) * { * this.userScreen.Execute("login"); * } * //}*/ }
public void Draw(Rectangle dest, SpriteBatch sb) { if (!this.IsActive) { return; } float timeElapsed = this.timeElapsed; if ((double)this.timeElapsed > 5.5) { timeElapsed -= 5.5f; } if ((double)timeElapsed <= 0.5 && (double)timeElapsed % 0.100000001490116 < 0.0500000007450581) { return; } int height1 = 120; float num1 = this.timeElapsed / 6f; float num2 = 1f; float num3 = 0.2f; if ((double)this.timeElapsed < (double)num3) { num2 = this.timeElapsed / num3; height1 = (int)((double)height1 * ((double)this.timeElapsed / (double)num3)); } else if ((double)this.timeElapsed > 6.0 - (double)num3) { float num4 = (float)(1.0 - ((double)this.timeElapsed - (6.0 - (double)num3))); num2 = num4; height1 = (int)((double)height1 * (double)num4); } Rectangle destinationRectangle = new Rectangle(dest.X, dest.Y + dest.Height / 2 - height1 / 2, dest.Width, height1); sb.Draw(Utils.white, destinationRectangle, Color.Black * 0.9f * num2); string text1 = "INCOMING CONNECTION"; string text2 = "External unsyndicated UDP traffic on port 22\nLogging all activity to ~/log"; int num5 = dest.Width / 3; int height2 = (int)(24.0 * (double)num2); Rectangle dest1 = new Rectangle(destinationRectangle.X, destinationRectangle.Y, destinationRectangle.Width, height2); PatternDrawer.draw(dest1, 1f, Color.Transparent, IncomingConnectionOverlay.DrawColor, sb, PatternDrawer.warningStripe); dest1.Y += height1 - height2; PatternDrawer.draw(dest1, 1f, Color.Transparent, IncomingConnectionOverlay.DrawColor, sb, PatternDrawer.warningStripe); int width1 = 700; Rectangle rectangle1 = new Rectangle(destinationRectangle.X + destinationRectangle.Width / 2 - width1 / 2, destinationRectangle.Y, width1, destinationRectangle.Height); int width2 = (int)((double)this.CautionSign.Width / (double)this.CautionSign.Height * (double)height1); Rectangle rectangle2 = new Rectangle(rectangle1.X, rectangle1.Y, width2, height1); rectangle2 = Utils.InsetRectangle(rectangle2, -30); sb.Draw(this.CautionSignBG, rectangle2, Color.Black * num2); int num6 = 4; rectangle2 = new Rectangle(rectangle2.X + num6, rectangle2.Y + num6, rectangle2.Width - num6 * 2, rectangle2.Height - num6 * 2); sb.Draw(this.CautionSign, rectangle2, Color.Lerp(Color.Red, IncomingConnectionOverlay.DrawColor, (float)(0.949999988079071 + 0.0500000007450581 * (double)Utils.rand()))); Rectangle dest2 = new Rectangle(rectangle1.X + rectangle2.Width + 2 * num6 - 18, rectangle1.Y + 4, rectangle1.Width - (rectangle2.Width + num6 * 2) + 20, (int)((double)rectangle1.Height * 0.8)); TextItem.doFontLabelToSize(dest2, text1, GuiData.titlefont, IncomingConnectionOverlay.DrawColor, false, false); dest2.Y += dest2.Height - 27; dest2.Height = (int)((double)rectangle1.Height * 0.2); TextItem.doFontLabelToSize(dest2, text2, GuiData.detailfont, IncomingConnectionOverlay.DrawColor * num2, false, false); }
public override void Draw(GameTime gameTime) { base.Draw(gameTime); PostProcessor.begin(); ScreenManager.FadeBackBufferToBlack(255); GuiData.startDraw(); PatternDrawer.draw(new Rectangle(0, 0, ScreenManager.GraphicsDevice.Viewport.Width, ScreenManager.GraphicsDevice.Viewport.Height), 0.5f, Color.Black, new Color(2, 2, 2), GuiData.spriteBatch); if (Button.doButton("Back".GetHashCode(), 10, 10, 220, 30, "<- " + LocaleTerms.Loc("Back"), Color.Gray)) { if (IsChange && !Saved) { ScreenManager.AddScreen(MessageBox_NeedSave, ScreenManager.controllingPlayer); } SettingsLoader.writeStatusFile(); ExitScreen(); } if (Button.doButton("Save".GetHashCode(), 10, 45, 220, 30, "ModsCore.Mods.Save".Translate(), Color.Blue)) { Save(); } TextItem.doLabel(new Vector2(75, 100), $"Mods ({"ModsCore.Mods.Activate".Translate()})", null, 300); //打开了Setting界面不允许修改选定的Mod if (OpenSettingUI) { SelectableTextList.doFancyList(25, 50, 140, 300, ScreenManager.GraphicsDevice.Viewport.Height - 190, m_ActivatedMods.ToArray(), currentActMods, Color.White); } else { currentActMods = SelectableTextList.doFancyList(25, 50, 140, 300, ScreenManager.GraphicsDevice.Viewport.Height - 50, m_ActivatedMods.ToArray(), currentActMods, Color.White); } if (OpenSettingUI && Button.doButton("CloseSettingUI".GetHashCode(), 400, 210, 150, 30, "ModsCore.Mods.CloseSettingUI".Translate(), Color.BlueViolet)) { OpenSettingUI = false; } if (currentActMods > 0 && Button.doButton("Up".GetHashCode(), 400, 250, 150, 30, "ModsCore.Mods.Up".Translate(), Color.BlueViolet)) { MoveUp(); IsChange = true; Saved = false; } if (currentActMods >= 0 && currentActMods != m_ActivatedMods.Count - 1 && Button.doButton("Down".GetHashCode(), 400, 290, 150, 30, "ModsCore.Mods.Down".Translate(), Color.BlueViolet)) { MoveDown(); IsChange = true; Saved = false; } if (!OpenSettingUI && currentActMods != -1 && Button.doButton("OpenSettingUI".GetHashCode(), 400, 210, 150, 30, "ModsCore.Mods.OpenSettingUI".Translate(), Color.BlueViolet)) { OpenSettingUI = true; } if (currentActMods >= 0 && Button.doButton("DeactivateMod".GetHashCode(), 400, 330, 150, 30, "ModsCore.Mods.DeactivateMod".Translate(), Color.BlueViolet)) { IsChange = true; Saved = false; m_DeactivatedMods.Add(m_ActivatedMods[currentActMods]); m_DeactDicModModEntries.Add(m_ActivatedMods[currentActMods].GetHashCode(), m_ActDicModEntries[m_ActivatedMods[currentActMods].GetHashCode()]); m_ActDicModEntries.Remove(m_ActivatedMods[currentActMods].GetHashCode()); m_ActivatedMods.RemoveAt(currentActMods); ModManager.ModsConfig ModsConfig = (ModManager.ModsConfig)ModsConfig_FieldInfo.GetValue(new ModManager()); ModsConfig.EnabledMod.RemoveAt(currentActMods); ModsConfig_FieldInfo.SetValue(null, ModsConfig); currentDeactMods = m_DeactivatedMods.Count - 1; currentActMods = -1; } if (!OpenSettingUI && currentDeactMods >= 0 && Button.doButton("ActivateMod".GetHashCode(), 400, 370, 150, 30, "ModsCore.Mods.ActivateMod".Translate(), Color.BlueViolet)) { IsChange = true; Saved = false; m_ActivatedMods.Add(m_DeactivatedMods[currentDeactMods]); m_ActDicModEntries.Add(m_DeactivatedMods[currentDeactMods].GetHashCode(), m_DeactDicModModEntries[m_DeactivatedMods[currentDeactMods].GetHashCode()]); ModManager.ModsConfig ModsConfig = (ModManager.ModsConfig)ModsConfig_FieldInfo.GetValue(new ModManager()); ModsConfig.EnabledMod.Add(Path.GetFileName(m_DeactDicModModEntries[m_DeactivatedMods[currentDeactMods].GetHashCode()].Path)); ModsConfig_FieldInfo.SetValue(null, ModsConfig); m_DeactDicModModEntries.Remove(m_DeactivatedMods[currentDeactMods].GetHashCode()); m_DeactivatedMods.RemoveAt(currentDeactMods); currentActMods = m_ActivatedMods.Count - 1; currentDeactMods = -1; } if (OpenSettingUI && m_ActDicModEntries[m_ActivatedMods[currentActMods].GetHashCode()].Started && m_ActDicModEntries[m_ActivatedMods[currentActMods].GetHashCode()].DrawSettingUIMethod != null) { RenderedRectangle.doRectangleOutline(570, 100, ScreenManager.GraphicsDevice.Viewport.Width - 50 - 570, ScreenManager.GraphicsDevice.Viewport.Height - 100 - 50, 2, Color.White); m_ActDicModEntries[m_ActivatedMods[currentActMods].GetHashCode()].DrawSettingUIMethod(m_ActDicModEntries[m_ActivatedMods[currentActMods].GetHashCode()], new object[] { ScreenManager, 575, 100, ScreenManager.GraphicsDevice.Viewport.Width - 50 - 570, ScreenManager.GraphicsDevice.Viewport.Height - 100 - 50 }); } else { TextItem.doLabel(new Vector2(600, 100), $"Mods ({"ModsCore.Mods.Deactivate".Translate()})", null, 300); currentDeactMods = SelectableTextList.doFancyList(25, 575, 140, 300, ScreenManager.GraphicsDevice.Viewport.Height - 50, m_DeactivatedMods.ToArray(), currentDeactMods, null); } GuiData.endDraw(); PostProcessor.end(); }