public CoinConfig(CoinConfig config) { configName = config.configName; want = config.want; GPU = config.GPU; CPU = config.CPU; }
public void setCoinConfig(CoinConfig config) { this.config = config.Clone(); wantReward.Text = this.config.want.ToString(); if (this.config.GPU == null || this.config.GPU == "") { GPUbat.Text = "GPU.bat empty"; setGPU.Text = "Set GPU.bat"; } else { GPUbat.Text = Regex.Match(this.config.GPU, @"[^\\]*\\[^\\]*\.bat").Value; setGPU.Text = "Clear GPU.bat"; } if (this.config.CPU == null || this.config.CPU == "") { CPUbat.Text = "CPU.bat empty"; setCPU.Text = "Set CPU.bat"; } else { CPUbat.Text = Regex.Match(this.config.CPU, @"[^\\]*\\[^\\]*\.bat").Value; setCPU.Text = "Clear CPU.bat"; } }
private string getActiveCoin() { Dictionary <string, double> CoinRating = new Dictionary <string, double>(); Dictionary <string, double> WorkCoinRating = new Dictionary <string, double>(); foreach (Coin coin in Coins.Values) { CoinPanel panel = (CoinPanel)mainPanel.Controls[coin.symbol]; CoinConfig cfg = Config[coin.symbol]; CoinRating.Add(coin.symbol, panel.getRaiting()); } foreach (string coinSymbol in CoinRating.Keys) { CoinConfig cfg = Config[coinSymbol]; if (cfg.GPU != null && cfg.GPU.Length > 0 || cfg.CPU != null && cfg.CPU.Length > 0) { double rating = CoinRating[coinSymbol]; if (coinSymbol == ActiveCoin) { rating *= 1.1; } WorkCoinRating.Add(coinSymbol, rating); } } CoinRating = CoinRating.OrderBy(x => x.Value).ToDictionary(x => x.Key, x => x.Value); WorkCoinRating = WorkCoinRating.OrderBy(x => x.Value).ToDictionary(x => x.Key, x => x.Value); string newActiveCoin = null; if (WorkCoinRating.Count > 0) { newActiveCoin = WorkCoinRating.Last().Key; } fillCoinStatusPanel(CoinRating.Keys.ToArray <string>(), newActiveCoin); return(newActiveCoin); }
public CoinPanel(string coinSymbol) { InitializeComponent(); this.Name = coinSymbol; this.config = new CoinConfig(coinSymbol); this.stats = new CoinStats(); openFileDialog1.Filter = "bat files|*.bat"; coinIcon.Image = GetImage(coinSymbol); coinSymbol1.Text = this.Name; coinSymbol2.Text = this.Name; }
private void setActiveCoin() { string newActiveCoin = getActiveCoin(); if (newActiveCoin == null && ActiveCoin != null) { killMiners(); CoinPanel panel = (CoinPanel)mainPanel.Controls[ActiveCoin]; panel.setActive(false); writeLog("End mining " + ActiveCoin); ActiveCoin = newActiveCoin; } else if (newActiveCoin != null && !newActiveCoin.Equals(ActiveCoin) && LastChangeCoin < DateTime.Now.AddMinutes(-30)) { killMiners(); CoinPanel panel = (CoinPanel)mainPanel.Controls[newActiveCoin]; panel.setActive(true); if (ActiveCoin != null) { panel = (CoinPanel)mainPanel.Controls[ActiveCoin]; panel.setActive(false); writeLog("End mining " + ActiveCoin); } writeLog("Start mining " + newActiveCoin); CoinConfig cfg = Config[newActiveCoin]; if (cfg.GPU != null && cfg.GPU.Length > 0) { startProcess(cfg.GPU); } if (cfg.CPU != null && cfg.CPU.Length > 0) { startProcess(cfg.CPU); } LastChangeCoin = DateTime.Now; ActiveCoin = newActiveCoin; } }
private void MiningManager_Load(object sender, EventArgs e) { try { XMLConfig = XDocument.Load(configFile); } catch { XMLConfig = new XDocument(); XMLConfig.Add(new XElement("MiningManagerConfig")); } XElement root = XMLConfig.Root; foreach (Coin coin in Coins.Values) { CoinConfig config = new CoinConfig(root.Element(coin.symbol + "Config"), coin.symbol); Config.Add(coin.symbol, config); CoinPanel panel = (CoinPanel)mainPanel.Controls[coin.symbol]; panel.setCoinConfig(config); } }