/// <summary> /// Creates a new client based on specified settings. Bot name determined by clientIndex /// using list of names found in settings. /// </summary> /// <param name="settings">Idleclient settings</param> /// <param name="clientIndex">Index of bot name from settings.BotNames</param> public ClientDriver(Config settings, int clientIndex) { this.settings = settings; this.ClientIndex = clientIndex; ItemDefs.LoadItemDefs(); }
/// <summary> /// Initalize driver. /// </summary> /// <param name="settings">Settings to use</param> public void Initalize(Config settings) { FailedClientCounts.Clear(); this.settings = settings; if (settings.BotNames.Count == 0) { Output("no bots defined"); FireOnCompletion(); return; } // Initalize all bots for (int i = 0; i < settings.BotNames.Count && i < settings.MaxBots; i++) { availableClients.Enqueue(new ClientDriver(settings, i)); FailedClientCounts.Add(i, 0); } Logger.Instance.OnDebugMessage = OnLoggerMessage; Logger.Instance.OnDriverMessage = OnLoggerMessage; Logger.Instance.OnErrorMessage = OnLoggerMessage; Logger.Instance.OnGameMessage = OnLoggerMessage; Logger.Instance.OnServerMessage = OnLoggerMessage; IsInitalized = true; }
/// <summary> /// Creates a new client. /// </summary> /// <param name="settings">Options for controlling the operation.</param> /// <param name="characterName">Name of the character.</param> public ClientBase(Config settings, string characterName) { this.settings = settings; this.characterName = characterName; ClientName = "NONE"; }