Exemple #1
0
 public BotSystem(OstBot ostBot)
 {
     updateTask = new Task(() =>
     {
         try
         {
             Stopwatch stopwatch = new Stopwatch();
             stopwatch.Start();
             while (enabled)
             {
                 Update();
                 int time = (int)stopwatch.ElapsedMilliseconds;
                 if (time < UpdateSleep)
                 {
                     Thread.Sleep(UpdateSleep - time);
                 }
                 stopwatch.Reset();
             }
         }
         catch (Exception e)
         {
             ostBot.shutdown();
             throw e;
         }
     });
 }
Exemple #2
0
        private void BlockDrawer(OstBot ostBot)
        {
            ostBot.connection.Send(ostBot.worldKey + "k", true);
            if (!blockDrawerEnabled)
            {
                blockDrawerEnabled = true;
                new Thread(() =>
                {
                    try
                    {
                        Stopwatch stopwatch = new Stopwatch();
                        stopwatch.Start();

                        while (ostBot.connected)
                        {
                            while (ostBot.hasCode)
                            {
                                lock (blockQueue)
                                {
                                    if (blockQueue.Count != 0)
                                    {
                                        if (blockSet.Contains(blockQueue.Peek()))
                                        {
                                            //Console.WriteLine("jag är en sjuk sak");
                                            blockQueue.Peek().Send(ostBot.connection);
                                            lock (blockRepairQueue)
                                                blockRepairQueue.Enqueue(blockQueue.Dequeue());
                                            //Console.WriteLine("!!");
                                        }
                                        else
                                        {
                                            blockQueue.Dequeue();
                                            continue;
                                        }
                                    }
                                    else if (blockRepairQueue.Count != 0)
                                    {
                                        while (!blockSet.Contains(blockRepairQueue.Peek()))
                                        {
                                            blockRepairQueue.Dequeue();
                                            if (blockRepairQueue.Count == 0)
                                            {
                                                break;
                                            }
                                        }

                                        if (blockRepairQueue.Count == 0)
                                        {
                                            continue;
                                        }

                                        blockRepairQueue.Peek().Send(ostBot.connection);
                                        blockRepairQueue.Enqueue(blockRepairQueue.Dequeue());
                                    }
                                    else
                                    {
                                        Thread.Sleep(5);
                                        continue;
                                    }
                                    double sleepTime = drawSleep - stopwatch.Elapsed.TotalMilliseconds;
                                    if (sleepTime >= 0.5)
                                    {
                                        Thread.Sleep((int)sleepTime);
                                    }
                                    stopwatch.Reset();
                                }
                            }
                            Thread.Sleep(100);
                        }
                    }
                    catch (Exception e)
                    {
                        ostBot.shutdown();
                        throw e;
                    }
                }).Start();
            }
        }