diff --git a/.gitignore b/.gitignore index 24657f7..88f525e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,72 @@ FloatToolGUI\bin FloatToolGUI\obj +FloatToolGUI/bin/Debug/DiscordRPC.dll +FloatToolGUI/bin/Debug/DiscordRPC.pdb +FloatToolGUI/bin/Debug/DiscordRPC.xml +FloatToolGUI/bin/Debug/en/FloatTool.resources.dll +FloatToolGUI/bin/Debug/FloatTool.exe +FloatToolGUI/bin/Debug/FloatTool.exe.config +FloatToolGUI/bin/Debug/FloatTool.pdb +FloatToolGUI/bin/Debug/itemData.json +FloatToolGUI/bin/Debug/Newtonsoft.Json.dll +FloatToolGUI/bin/Debug/Newtonsoft.Json.xml +FloatToolGUI/bin/Debug/ru/FloatTool.resources.dll +FloatToolGUI/bin/Release/DiscordRPC.dll +FloatToolGUI/bin/Release/DiscordRPC.pdb +FloatToolGUI/bin/Release/DiscordRPC.xml +FloatToolGUI/bin/Release/en/FloatTool.resources.dll +FloatToolGUI/bin/Release/FloatTool.exe +FloatToolGUI/bin/Release/FloatTool.exe.config +FloatToolGUI/bin/Release/FloatTool.pdb +FloatToolGUI/bin/Release/itemData.json +FloatToolGUI/bin/Release/Newtonsoft.Json.dll +FloatToolGUI/bin/Release/Newtonsoft.Json.xml +FloatToolGUI/bin/Release/ru/FloatTool.resources.dll +FloatToolGUI/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs +FloatToolGUI/obj/Debug/en/FloatTool.resources.dll +FloatToolGUI/obj/Debug/FloatTool.exe +FloatToolGUI/obj/Debug/FloatTool.pdb +FloatToolGUI/obj/Debug/FloatToolGUI.Benchmark.resources +FloatToolGUI/obj/Debug/FloatToolGUI.csproj.CopyComplete +FloatToolGUI/obj/Debug/FloatToolGUI.csproj.CoreCompileInputs.cache +FloatToolGUI/obj/Debug/FloatToolGUI.csproj.FileListAbsolute.txt +FloatToolGUI/obj/Debug/FloatToolGUI.csproj.GenerateResource.cache +FloatToolGUI/obj/Debug/FloatToolGUI.csprojAssemblyReference.cache +FloatToolGUI/obj/Debug/FloatToolGUI.CustomControls.CustomToggleSwitch.resources +FloatToolGUI/obj/Debug/FloatToolGUI.CustomProgressBar.resources +FloatToolGUI/obj/Debug/FloatToolGUI.FloatTool.en.resources +FloatToolGUI/obj/Debug/FloatToolGUI.FloatTool.resources +FloatToolGUI/obj/Debug/FloatToolGUI.FloatTool.ru.resources +FloatToolGUI/obj/Debug/FloatToolGUI.Properties.Resources.resources +FloatToolGUI/obj/Debug/FloatToolGUI.Resources.strings.en.resources +FloatToolGUI/obj/Debug/FloatToolGUI.Resources.strings.resources +FloatToolGUI/obj/Debug/FloatToolGUI.SettingsForm.resources +FloatToolGUI/obj/Debug/ru/FloatTool.resources.dll +FloatToolGUI/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll +FloatToolGUI/obj/Release/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs +FloatToolGUI/obj/Release/DesignTimeResolveAssemblyReferences.cache +FloatToolGUI/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache +FloatToolGUI/obj/Release/en/FloatTool.resources.dll +FloatToolGUI/obj/Release/FloatTool.exe +FloatToolGUI/obj/Release/FloatTool.pdb +FloatToolGUI/obj/Release/FloatToolGUI.Benchmark.resources +FloatToolGUI/obj/Release/FloatToolGUI.csproj.CopyComplete +FloatToolGUI/obj/Release/FloatToolGUI.csproj.CoreCompileInputs.cache +FloatToolGUI/obj/Release/FloatToolGUI.csproj.FileListAbsolute.txt +FloatToolGUI/obj/Release/FloatToolGUI.csproj.GenerateResource.cache +FloatToolGUI/obj/Release/FloatToolGUI.csprojAssemblyReference.cache +FloatToolGUI/obj/Release/FloatToolGUI.CustomControls.CustomToggleSwitch.resources +FloatToolGUI/obj/Release/FloatToolGUI.CustomProgressBar.resources +FloatToolGUI/obj/Release/FloatToolGUI.FloatTool.en.resources +FloatToolGUI/obj/Release/FloatToolGUI.FloatTool.resources +FloatToolGUI/obj/Release/FloatToolGUI.FloatTool.ru.resources +FloatToolGUI/obj/Release/FloatToolGUI.Properties.Resources.resources +FloatToolGUI/obj/Release/FloatToolGUI.Resources.strings.en.resources +FloatToolGUI/obj/Release/FloatToolGUI.Resources.strings.resources +FloatToolGUI/obj/Release/FloatToolGUI.SettingsForm.resources +FloatToolGUI/obj/Release/ru/FloatTool.resources.dll +FloatToolGUI/obj/Release/TempPE/Properties.Resources.Designer.cs.dll +FloatToolGUI/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache +FloatToolGUI/obj/Release/FloatToolGUI.csprojAssemblyReference.cache +FloatToolGUI/obj/Release/FloatToolGUI.csprojAssemblyReference.cache +FloatToolGUI/obj/Release/FloatToolGUI.csprojAssemblyReference.cache diff --git a/FloatToolGUI/CustomControls/CustomProgressBar.Designer.cs b/FloatToolGUI/CustomControls/CustomProgressBar.Designer.cs new file mode 100644 index 0000000..00393e5 --- /dev/null +++ b/FloatToolGUI/CustomControls/CustomProgressBar.Designer.cs @@ -0,0 +1,46 @@ +namespace FloatToolGUI +{ + partial class CustomProgressBar + { + /// + /// Обязательная переменная конструктора. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Освободить все используемые ресурсы. + /// + /// истинно, если управляемый ресурс должен быть удален; иначе ложно. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Код, автоматически созданный конструктором компонентов + + /// + /// Требуемый метод для поддержки конструктора — не изменяйте + /// содержимое этого метода с помощью редактора кода. + /// + private void InitializeComponent() + { + this.SuspendLayout(); + // + // CustomProgressBar + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.Margin = new System.Windows.Forms.Padding(0); + this.Name = "CustomProgressBar"; + this.Size = new System.Drawing.Size(306, 24); + this.Paint += new System.Windows.Forms.PaintEventHandler(this.CustomProgressBar_Paint); + this.ResumeLayout(false); + + } + + #endregion + } +} diff --git a/FloatToolGUI/CustomControls/CustomProgressBar.cs b/FloatToolGUI/CustomControls/CustomProgressBar.cs new file mode 100644 index 0000000..13921b2 --- /dev/null +++ b/FloatToolGUI/CustomControls/CustomProgressBar.cs @@ -0,0 +1,86 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace FloatToolGUI +{ + public partial class CustomProgressBar : UserControl + { + private int minimum = 0; + private int maximum = 100; + private float progressValue = 0; + private Color progressColor = Color.Green; + private Font progressFont = new Font("Microsoft JhengHei UI", 11.25f, FontStyle.Bold); + + /// + /// Цвет заливки прогресс-бара + /// + public Color ProgressColor + { + get { return progressColor; } + set { progressColor = value; Invalidate(); } + } + + /// + /// Шрифт процентов + /// + public Font ProgressFont + { + get { return progressFont; } + set { progressFont = value; Invalidate(); } + } + + /// + /// Текущее значение прогресс-бара + /// + public float Value + { + get { return progressValue; } + set { progressValue = value; Invalidate(); } + } + + /// + /// Минимальное значение прогресс-бара + /// + public int Minimum + { + get { return minimum; } + set { minimum = value; Invalidate(); } + } + + /// + /// Максимальное значение прогресс-бара + /// + public int Maximum + { + get { return maximum; } + set { maximum = value; Invalidate(); } + } + + public CustomProgressBar() + { + InitializeComponent(); + } + + private void CustomProgressBar_Paint(object sender, PaintEventArgs e) + { + float fill = (Value - Minimum) / (Maximum - Minimum); + Brush brush = new SolidBrush(ProgressColor); + e.Graphics.FillRectangle(brush, new RectangleF(0, 0, Width * fill, Height)); + + using (ProgressFont) + { + Rectangle rect2 = new Rectangle(150, 10, 130, 140); + TextFormatFlags flags = TextFormatFlags.HorizontalCenter | + TextFormatFlags.VerticalCenter | TextFormatFlags.WordBreak; + TextRenderer.DrawText(e.Graphics, $"{Math.Floor(fill * 100)}%", ProgressFont, new Rectangle(0, 0, Width, Height), ForeColor, flags); + } + } + } +} diff --git a/FloatToolGUI/CustomControls/CustomProgressBar.resx b/FloatToolGUI/CustomControls/CustomProgressBar.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FloatToolGUI/CustomControls/CustomProgressBar.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/FloatToolGUI/CustomControls/CustomToggleSwitch.Designer.cs b/FloatToolGUI/CustomControls/CustomToggleSwitch.Designer.cs new file mode 100644 index 0000000..440e25e --- /dev/null +++ b/FloatToolGUI/CustomControls/CustomToggleSwitch.Designer.cs @@ -0,0 +1,47 @@ +namespace FloatToolGUI.CustomControls +{ + partial class CustomToggleSwitch + { + /// + /// Обязательная переменная конструктора. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Освободить все используемые ресурсы. + /// + /// истинно, если управляемый ресурс должен быть удален; иначе ложно. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Код, автоматически созданный конструктором компонентов + + /// + /// Требуемый метод для поддержки конструктора — не изменяйте + /// содержимое этого метода с помощью редактора кода. + /// + private void InitializeComponent() + { + this.SuspendLayout(); + // + // CustomToggleSwitch + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Name = "CustomToggleSwitch"; + this.Size = new System.Drawing.Size(156, 45); + this.Paint += new System.Windows.Forms.PaintEventHandler(this.CustomToggleSwitch_Paint); + this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.CustomToggleSwitch_MouseDown); + this.ResumeLayout(false); + + } + + #endregion + } +} diff --git a/FloatToolGUI/CustomControls/CustomToggleSwitch.cs b/FloatToolGUI/CustomControls/CustomToggleSwitch.cs new file mode 100644 index 0000000..e015835 --- /dev/null +++ b/FloatToolGUI/CustomControls/CustomToggleSwitch.cs @@ -0,0 +1,77 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using System.Drawing.Drawing2D; + +namespace FloatToolGUI.CustomControls +{ + public partial class CustomToggleSwitch : UserControl + { + private bool check = false; + public bool Checked { get {return check; } set {check = value; Invalidate(); } } + public Color TurnedOffColor { get; set; } + + public Color TurnedOnColor { get; set; } + + public CustomToggleSwitch() + { + InitializeComponent(); + } + + + [Browsable(true)] + [Category("Action")] + [Description("Invoked when toggled")] + public event EventHandler OnToggled; + + private void CustomToggleSwitch_Paint(object sender, PaintEventArgs e) + { + Graphics g = e.Graphics; + Brush back = new SolidBrush(Checked ? TurnedOnColor : TurnedOffColor); + Brush fore = new SolidBrush(ForeColor); + g.FillPath(back, RoundedRect(new Rectangle(0,0,Width,Height), Height / 2)); + if (Checked) + g.FillEllipse(fore, new Rectangle(Width - Height + 3, 3, Height - 6, Height - 6)); + else + g.FillEllipse(fore, new Rectangle(3, 3, Height - 6, Height - 6)); + } + + public static GraphicsPath RoundedRect(Rectangle bounds, int radius) + { + int diameter = radius * 2; + Size size = new Size(diameter, diameter); + Rectangle arc = new Rectangle(bounds.Location, size); + GraphicsPath path = new GraphicsPath(); + if (radius == 0) + { + path.AddRectangle(bounds); + return path; + } + path.AddArc(arc, 180, 90); + arc.X = bounds.Right - diameter; + path.AddArc(arc, 270, 90); + arc.Y = bounds.Bottom - diameter; + path.AddArc(arc, 0, 90); + arc.X = bounds.Left; + path.AddArc(arc, 90, 90); + path.CloseFigure(); + return path; + } + + private void CustomToggleSwitch_MouseDown(object sender, MouseEventArgs e) + { + if (Enabled) + { + Checked = !Checked; + OnToggled.Invoke(sender, e); + Invalidate(); + } + } + } +} diff --git a/FloatToolGUI/CustomControls/CustomToggleSwitch.resx b/FloatToolGUI/CustomControls/CustomToggleSwitch.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FloatToolGUI/CustomControls/CustomToggleSwitch.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/FloatToolGUI/Main.cs b/FloatToolGUI/Main.cs index 3b99cc1..4242b13 100644 --- a/FloatToolGUI/Main.cs +++ b/FloatToolGUI/Main.cs @@ -553,14 +553,15 @@ private void StartCalculation() { try { + wcf.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)"); string jsonf = wcf.DownloadString(url); dynamic rf = JsonConvert.DeserializeObject(jsonf); //Debug.WriteLine("[DEBUG] " + counter + "/" + count + " load from csgofloat = " + jsonf); floats.Add(Convert.ToDouble(rf["iteminfo"]["floatvalue"])); } - catch + catch (Exception e) { - Console.Write(""); + Console.WriteLine($"{url} = {e.Message}"); } } this.Invoke((MethodInvoker)(() => diff --git a/FloatToolGUI/Main.resx b/FloatToolGUI/Main.resx index 2d9767d..01d32c1 100644 --- a/FloatToolGUI/Main.resx +++ b/FloatToolGUI/Main.resx @@ -659,13 +659,13 @@ 138, 20 - 36, 15 + 38, 15 1 - v.0.5.1 + v.0.5.2 versionLabel