public GroupMiner(List<MiningPair> miningPairs, string key)
{
AlgorithmType = AlgorithmType.NONE;
DevicesInfoString = "N/A";
CurrentRate = 0;
Key = key;
if (miningPairs.Count > 0) {
// sort pairs by device id
miningPairs.Sort((a, b) => a.Device.ID - b.Device.ID);
// init name scope
{
List<string> deviceNames = new List<string>();
foreach (var pair in miningPairs) {
deviceNames.Add(pair.Device.NameCount);
}
DevicesInfoString = "{ " + StringHelper.Join(", ", deviceNames) + " }";
}
// init miner
{
var mPair = miningPairs[0];
DeviceType = mPair.Device.DeviceType;
Miner = MinersManager.CreateMiner(mPair.Device.DeviceType,
MinerPaths.GetOptimizedMinerPath(mPair));
if(Miner != null) {
Miner.InitMiningSetup(new MiningSetup(miningPairs));
AlgorithmType = mPair.Algorithm.NiceHashID;
}
}
}
}