Exemple #1
0
        /// <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
        }
Exemple #2
0
        public AmericaTownFactory(botWindow botwindow)
        {
            this.botwindow      = botwindow;
            this.numberOfWindow = botwindow.getNumberWindow();
            BotParam botParam = new BotParam(numberOfWindow);

            param = botParam.NomerTeleport;
        }
Exemple #3
0
        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;
 }
Exemple #5
0
 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;
 }
Exemple #6
0
        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);
        }
    }
Exemple #8
0
        //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;
        }
Exemple #9
0
        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];
        }
Exemple #11
0
        /// <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);
                }
            }
        }
Exemple #12
0
        /// <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);           // то делаем паузу на недостающий промежуток времени
            }
        }