Example #1
0
 public void onSendText(string text)
 {
     if (realBot != null)
     {
         realBot.onSendText(text);
     }
 }
Example #2
0
        static void LoadandRunBot()
        {
            loadBot(); //preload our bot so that any module load errors come up now instead of at match start.

            bwapi.BWAPI_init();
            System.Console.WriteLine("Connecting...");
            reconnect();
            while (true)
            {
                //wait for game to start
                System.Console.WriteLine("waiting to enter match\n");
                while (!bwapi.Broodwar.isInGame())
                {
                    bwapiclient.BWAPIClient.update();
                    if (!bwapiclient.BWAPIClient.isConnected())
                    {
                        System.Console.WriteLine("Reconnecting...\n");
                        reconnect();
                    }
                } //wait for game
                loadBot(); //reload the bot at the start of each match (for easy drop in dll replacement)
                System.Console.WriteLine("Starting Match");

                while (bwapi.Broodwar.isInGame())
                {
                    //for(std::list<Event>::iterator e=Broodwar->getEvents().begin();e!=Broodwar->getEvents().end();e++)
                    foreach (Event e in bwapi.Broodwar.getEvents())
                    {
                        EventType_Enum et = e.getType();
                        switch (et)
                        {
                        case EventType_Enum.MatchStart:
                            client.onStart();
                            break;

                        case EventType_Enum.MatchEnd:
                            client.onEnd(e.isWinner());
                            break;

                        case EventType_Enum.MatchFrame:
                            client.onFrame();
                            break;

                        case EventType_Enum.MenuFrame:
                            break;

                        case EventType_Enum.SendText:
                            client.onSendText(e.getText());
                            break;

                        case EventType_Enum.ReceiveText:
                            client.onReceiveText(e.getPlayer(), e.getText());
                            break;

                        case EventType_Enum.PlayerLeft:
                            client.onPlayerLeft(e.getPlayer());
                            break;

                        case EventType_Enum.NukeDetect:
                            client.onNukeDetect(e.getPosition());
                            break;

                        case EventType_Enum.UnitDiscover:
                            client.onUnitDiscover(e.getUnit());
                            break;

                        case EventType_Enum.UnitEvade:
                            client.onUnitEvade(e.getUnit());
                            break;

                        case EventType_Enum.UnitShow:
                            client.onUnitShow(e.getUnit());
                            break;

                        case EventType_Enum.UnitHide:
                            client.onUnitHide(e.getUnit());
                            break;

                        case EventType_Enum.UnitCreate:
                            client.onUnitCreate(e.getUnit());
                            break;

                        case EventType_Enum.UnitDestroy:
                            client.onUnitDestroy(e.getUnit());
                            break;

                        case EventType_Enum.UnitMorph:
                            client.onUnitMorph(e.getUnit());
                            break;

                        case EventType_Enum.UnitRenegade:
                            client.onUnitRenegade(e.getUnit());
                            break;

                        case EventType_Enum.SaveGame:
                            client.onSaveGame(e.getText());
                            break;

                        default:
                            break;
                        }
                    }
                    bwapiclient.BWAPIClient.update();
                    if (!bwapiclient.BWAPIClient.isConnected())
                    {
                        System.Console.WriteLine("Reconnecting...\n");
                        reconnect();
                    }
                }
                System.Console.WriteLine("Game ended\n");
            } //main while loop
        }