mirror of
https://github.com/JustArchiNET/ArchiSteamFarm.git
synced 2025-12-21 16:58:37 +00:00
Work on GUI
There is still a long way till it's done...
This commit is contained in:
46
GUI/BotStatusForm.cs
Normal file
46
GUI/BotStatusForm.cs
Normal file
@@ -0,0 +1,46 @@
|
||||
using System;
|
||||
using System.Collections.Concurrent;
|
||||
using System.ComponentModel;
|
||||
using System.Windows.Forms;
|
||||
using ArchiSteamFarm;
|
||||
using SteamKit2;
|
||||
|
||||
namespace GUI {
|
||||
internal sealed partial class BotStatusForm : Form {
|
||||
internal static readonly ConcurrentDictionary<string, BotStatusForm> BotForms = new ConcurrentDictionary<string, BotStatusForm>();
|
||||
|
||||
private readonly Bot Bot;
|
||||
|
||||
internal BotStatusForm(Bot bot) {
|
||||
if (bot == null) {
|
||||
throw new ArgumentNullException(nameof(bot));
|
||||
}
|
||||
|
||||
Bot = bot;
|
||||
|
||||
BotForms[bot.BotName] = this;
|
||||
|
||||
InitializeComponent();
|
||||
|
||||
Dock = DockStyle.Fill;
|
||||
}
|
||||
|
||||
internal void OnStateUpdated(SteamFriends.PersonaStateCallback callback) {
|
||||
if (callback == null) {
|
||||
Logging.LogNullError(nameof(callback));
|
||||
return;
|
||||
}
|
||||
|
||||
if (callback.AvatarHash != null) {
|
||||
string avatarHash = BitConverter.ToString(callback.AvatarHash).Replace("-", "").ToLowerInvariant();
|
||||
string avatarURL = "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/" + avatarHash.Substring(0, 2) + "/" + avatarHash + "_full.jpg";
|
||||
AvatarPictureBox.ImageLocation = avatarURL;
|
||||
AvatarPictureBox.LoadAsync();
|
||||
}
|
||||
}
|
||||
|
||||
private void AvatarPictureBox_LoadCompleted(object sender, AsyncCompletedEventArgs e) {
|
||||
MainForm.UpdateBotAvatar(Bot.BotName, AvatarPictureBox.Image);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user