/// <summary> /// основной конструктор /// </summary> /// <param name="number_Window">номер бота (номер окна)</param> public botWindow(int number_Window) { numberWindow = number_Window; // эта инфа поступает при создании объекта класса botParam = new BotParam(numberWindow); //globalParam = new GlobalParam(); #region Вариант 1. переменные класса подчитываются из текстовых файлов //this.databot = LoadUserDataBot(TypeLoadUserData.txt); #endregion #region Вариант 2. переменные класса подчитываются из БД //this.databot = LoadUserDataBot(TypeLoadUserData.db); #endregion //this.statusOfAtk = GetStatusOfAtk(); //значение статуса, 1 - мы уже били босса, 0 - нет // serverFactory = new ServerFactory(number_Window); serverFactory = new ServerFactory(this); server = serverFactory.create(); // создали конкретный экземпляр класса server по паттерну "простая Фабрика" (Америка, Европа или Синг) // точки для тыканья. универсально для всех серверов this.pointButtonClose = new Point(850 - 5 + botParam.X, 625 - 5 + botParam.Y); //(848, 620); this.pointOneMode = new Point(123 - 5 + botParam.X, 489 - 5 + botParam.Y); // 118, 484 }
public AmericaTownFactory(botWindow botwindow) { this.botwindow = botwindow; this.numberOfWindow = botwindow.getNumberWindow(); BotParam botParam = new BotParam(numberOfWindow); param = botParam.NomerTeleport; }
public PetFactory(botWindow botwindow) { this.botwindow = botwindow; this.numberOfWindow = botwindow.getNumberWindow(); BotParam botParam = new BotParam(numberOfWindow); param = botParam.Parametrs[botParam.NumberOfInfinity]; }
public StateGT108(botWindow botwindow) { this.botwindow = botwindow; this.botParam = new BotParam(botwindow.getNumberWindow()); this.serverFactory = new ServerFactory(botwindow); this.server = serverFactory.create(); // создали конкретный экземпляр класса server по паттерну "простая Фабрика" (Америка, Европа или Синг) this.tekStateInt = 108; }
public StateGT250(botWindow botwindow) //, GotoTrade gototrade) { this.botwindow = botwindow; this.serverFactory = new ServerFactory(botwindow); this.server = serverFactory.create(); // создали конкретный экземпляр класса server по паттерну "простая Фабрика" (Америка, Европа или Синг) this.town = server.getTown(); globalParam = new GlobalParam(); botParam = new BotParam(botwindow.getNumberWindow()); this.tekStateInt = 250; }
public DriversOfState(int numberOfWindow) { this.botwindow = new botWindow(numberOfWindow); ServerFactory serverFactory = new ServerFactory(botwindow); this.server = serverFactory.create(); // создали конкретный экземпляр класса server по паттерну "простая Фабрика" (Америка, Европа или Синг) OtitFactory otitFactory = new OtitFactory(botwindow); this.otit = otitFactory.createOtit(); this.botParam = new BotParam(numberOfWindow); //сделали экземпляр класса }
private IEnumerator WaveCreator() { for (int i = 1; i < GameDataProvider.Instance.Settings.WaveCount; i++) { //new bot upgrade type to all wave var rnd = new System.Random(); botParam = (BotParam)rnd.Next(System.Enum.GetNames(typeof(BotParam)).Length); yield return(new WaitForSeconds(GameDataProvider.Instance.Settings.WaveDelay)); StartCoroutine(MobCreator(GetBotInWaveCount())); _waveNumber++; GameDataProvider.Instance.EventSystem.UpdateUI(); Debug.Log("Create New Wave: " + _waveNumber); } }
//public UIntPtr[] arrayOfHwnd = new UIntPtr[21]; //используется в методе "Найти окна" /// <summary> /// конструктор /// </summary> public MainForm() { InitializeComponent(); this.globalParam = new GlobalParam(); //сделали экземпляр класса this.botParam = new BotParam(1); numberOfAcc = globalParam.TotalNumberOfAccounts; startAccount = globalParam.StartingAccount; this.Text = "Программа от " + DataVersion + " " + numberOfAcc + " окон"; this.Location = new System.Drawing.Point(1315, 1080 - this.Height - 40); this.numberOfAccouts.Value = numberOfAcc; this.labelNomer.Text = "Текущий № аккаунта " + botParam.NumberOfInfinity; string typeOfNintendo; switch (globalParam.Nintendo) { case 1: typeOfNintendo = "без расы"; break; case 2: typeOfNintendo = "Wild"; break; case 3: typeOfNintendo = "LifeLess"; break; case 4: typeOfNintendo = "Wild or Human"; break; case 5: typeOfNintendo = "Undeed"; break; case 6: typeOfNintendo = "Demon"; break; case 7: typeOfNintendo = "Human"; break; case 10: typeOfNintendo = "все расы"; break; default: typeOfNintendo = "без расы"; break; } this.labelEnchanting.Text = "Чиповка - " + typeOfNintendo; }
public BotParam GetBotParam(string key) { if (_params == null) { return(null); } if (key.Contains('/')) { string[] keys = key.Split('/'); IEnumerable <BotParam> prms = _params; BotParam found = null; foreach (var k in keys) { if (string.IsNullOrWhiteSpace(k)) { continue; } found = prms.FirstOrDefault(p => p.Key == k); if (found == null) { return(null); } prms = found.Children; } return(found); } else { return(_params.FirstOrDefault(p => p.Key == key)); } }
/// <summary> /// конструктор /// </summary> /// <param name="param">синг, америка или европа</param> public ServerParamFactory(int numberOfWindow) { BotParam botParam = new BotParam(numberOfWindow); param = botParam.Parametrs[botParam.NumberOfInfinity]; }
/// <summary> /// метод задает функционал для потока, организуемого кнопкой Demonic в BH /// </summary> private void funcDemonic() { Check[] check = new Check[numberOfAcc + 1]; BotParam[] botParam = new BotParam[numberOfAcc + 1]; for (int j = startAcc; j <= numberOfAcc; j++) { check[j] = new Check(j); //проинициализировали check[j]. Сработал конструктор botParam[j] = new BotParam(j); //проинициализировали botParam[j]. Сработал конструктор botParam[j].Stage = 1; } //int Period; //int MinTimeOfTurn = 2000; //минимальное время цикла //DateTime Data1; //DateTime Data2; //int result; int infinity = botParam[startAcc].NumberOfInfinity; while (true) { //Data1 = DateTime.Now; for (int j = startAcc; j <= numberOfAcc; j++) { if (botParam[j].NumberOfInfinity != infinity) { infinity = botParam[j].NumberOfInfinity; check[j] = new Check(j); botParam[j] = new BotParam(j); //проинициализировали botParam[j]. Сработал конструктор botParam[j].Stage = 1; } //MessageBox.Show("Infinity " + botParam[j].NumberOfInfinity); if (check[j].IsActiveServer) { switch (botParam[j].Stage) { case 1: check[j].problemResolutionDemStage1(); break; case 2: check[j].problemResolutionDemStage2(); break; case 3: check[j].problemResolutionDemStage3(); break; } //if (botParam[j].Stage == 1) //{ // check[j].problemResolutionDemStage1(); //} //if (botParam[j].Stage == 2) //{ // check[j].problemResolutionDemStage2(); //} //if (botParam[j].Stage == 3) //{ // check[j].problemResolutionDemStage3(); //} } else { check[j].RemoveSandboxie(); //result = globalParam.Infinity; //if (result >= 424) result = 0; //если дошли до последнего подготовленного аккаунта, то идём в начала списка // //в качестве альтернативы тут можно сделать присвоение FAlse какому-нибудь глоб параметру, чтобы остановить общий цикл //botParam[j].NumberOfInfinity = result; //globalParam.Infinity = result + 1; check[j] = new Check(j); botParam[j] = new BotParam(j); //проинициализировали botParam[j]. Сработал конструктор botParam[j].Stage = 1; } } //Data2 = DateTime.Now; //Period = (Data2 - Data1).Milliseconds; //if (Period < MinTimeOfTurn) //если один проход программы был короче минимально разрешенного времени цикла, // check[startAcc].Pause(MinTimeOfTurn - Period); // то делаем паузу на недостающий промежуток времени if (botParam[startAcc].Stage == 1) { check[startAcc].Pause(7000); } if (botParam[startAcc].Stage == 3) { check[startAcc].Pause(5000); } } }
/// <summary> /// метод задает функционал для потока, организуемого кнопкой Demonic в BH /// </summary> private void funcDemonicMulti() { Check[] check = new Check[numberOfAcc + 1]; BotParam[] botParam = new BotParam[numberOfAcc + 1]; int[] infinity = new int [numberOfAcc + 1]; for (int j = startAcc; j <= numberOfAcc; j++) { check[j] = new Check(j); //проинициализировали check[j]. Сработал конструктор botParam[j] = new BotParam(j); //проинициализировали botParam[j]. Сработал конструктор botParam[j].Stage = 1; infinity[j] = botParam[j].NumberOfInfinity; } //int Period; //int MinTimeOfTurn = 5000; //минимальное время цикла //DateTime Data1, Data2; while (true) { //Data1 = DateTime.Now; for (int j = startAcc; j <= numberOfAcc; j++) { if (botParam[j].NumberOfInfinity != infinity[j]) //инфинити поменялся { infinity [j] = botParam[j].NumberOfInfinity; check[j] = new Check(j); botParam[j] = new BotParam(j); //проинициализировали botParam[j]. Сработал конструктор botParam[j].Stage = 1; } if (check[j].IsActiveServer) { switch (botParam[j].Stage) { case 1: check[j].problemResolutionDemMultiStage1(); break; case 2: check[j].problemResolutionDemMultiStage2(); break; case 3: check[j].problemResolutionDemMultiStage3(); break; } } else { check[j].RemoveSandboxie(); check[j] = new Check(j); botParam[j] = new BotParam(j); botParam[j].Stage = 1; } } //Data2 = DateTime.Now; //Period = (Data2 - Data1).Milliseconds; //if (Period < MinTimeOfTurn) //если один проход программы был короче минимально разрешенного времени цикла, // check[startAcc].Pause(MinTimeOfTurn - Period); // то делаем паузу на недостающий промежуток времени } }