protected override void DrawSelf(SpriteBatch spriteBatch) { base.DrawSelf(spriteBatch); Vector2 position = GetDimensions().Position(); if (IsMouseHovering && Main.mouseLeft && Main.mouseLeftRelease) { Player player = Main.LocalPlayer; FargoSoulsPlayer modPlayer = player.GetModPlayer <FargoSoulsPlayer>(); modPlayer.Toggler.Toggles[Key].ToggleBool = !modPlayer.Toggler.Toggles[Key].ToggleBool; if (Main.netMode == NetmodeID.MultiplayerClient) { modPlayer.SyncToggle(Key); } } spriteBatch.Draw(FargowiltasSouls.UserInterfaceManager.CheckBox.Value, position, Color.White); if (Main.LocalPlayer.GetToggleValue(Key, false)) { spriteBatch.Draw(FargowiltasSouls.UserInterfaceManager.CheckMark.Value, position, Color.White); } string text = Language.GetTextValue($"Mods.FargowiltasSouls.{Key}Config"); position += new Vector2(Width.Pixels * Main.UIScale, 0); position += new Vector2(CheckboxTextSpace, 0); position += new Vector2(0, Font.MeasureString(text).Y * 0.175f); Utils.DrawBorderString(spriteBatch, text, position, Color.White); }