/// <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();
        }
示例#2
0
        /// <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;
        }
示例#3
0
 /// <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";
 }