Esempio n. 1
0
        public D2GS(String character, String account, UInt32 chickenLife, UInt32 potLife)
        {
            //ConnectedToGs = false;
            m_d2gsConnection = new D2gsConnection();
            m_d2gsReader = new D2gsReader(ref m_d2gsConnection, character);
            m_d2gsHandler = new D2gsHandler(ref m_d2gsConnection);
            m_gsPing = new GameServerPing(ref m_d2gsConnection);
            m_gameThread = new GameThread(m_d2gsConnection, chickenLife, potLife);
            m_asciiMap = new AsciiMap(m_gameThread.GameData, m_d2gsConnection);

            m_d2gsConnection.StartThread += delegate {
                m_d2gsHandlerThread = new Thread(m_d2gsHandler.ThreadFunction);
                m_d2gsHandlerThread.Name = account + " [D2Gs]:";
                m_d2gsReaderThread = new Thread(m_d2gsReader.ThreadFunction);
                m_d2gsReaderThread.Name = account + " [D2GS]:";

                m_d2gsHandlerThread.Start();
                m_d2gsReaderThread.Start();
            };

            m_d2gsHandler.StartPinging += delegate
            {
                m_gsPingThread = new Thread(m_gsPing.Run);
                m_gsPingThread.Name = account + " [D2GS]:";
                m_gsPingThread.Start();
                m_mapThread = new Thread(m_asciiMap.ThreadFunction);
                m_mapThread.Start();
            };

            m_botThread = new Thread(m_gameThread.BotThread);
            m_botThread.Name = account + " [BOT]:";
            m_botThread.Start();

            SubscribeGameServerEvents();
        }
        public static IAsciiMap LoadAsciiMap(MapSelector mapsSelector)
        {
            IAsciiMap map = new AsciiMap();

            using (var mapResource = LoadMapFromEmbeddedResource(mapsSelector))
            {
                map.MapMatrix = GetMapMatrixFromResource(mapResource);
            }

            return(map);
        }
        public void FindPath_GetMapPathLetters_ReturnUpdatedPathLetters()
        {
            IAsciiMap map = new AsciiMap();
            string    expectedPathLetters = "SAUNA";

            using (var mapResource = TestResource.GetResourceMap(MapSelector.Map4))
            {
                map.MapMatrix = MapLoader.GetMapMatrixFromResource(mapResource);
            }
            Pathfinder.FindPath(map, map.StartField, PathDirection.Unknown);

            Assert.Equal(expectedPathLetters, string.Join("", map.PathLetters.ToArray()));
        }
        public void FindPath_GetMapPathCharacters_ReturnUpdatedPathCharacters()
        {
            IAsciiMap map = new AsciiMap();
            string    expectedPathCharacters = "@---+B||E--+|E|+--F--+|C|||A--|-----K|||+--E--Ex";

            using (var mapResource = TestResource.GetResourceMap(MapSelector.Map3))
            {
                map.MapMatrix = MapLoader.GetMapMatrixFromResource(mapResource);
            }
            Pathfinder.FindPath(map, map.StartField, PathDirection.Unknown);

            Assert.Equal(expectedPathCharacters, string.Join("", map.PathCharacters.ToArray()));
        }
Esempio n. 5
0
        public D2GS(String character, String account, UInt32 chickenLife, UInt32 potLife)
        {
            //ConnectedToGs = false;
            m_d2gsConnection = new D2gsConnection();
            m_d2gsReader     = new D2gsReader(ref m_d2gsConnection, character);
            m_d2gsHandler    = new D2gsHandler(ref m_d2gsConnection);
            m_gsPing         = new GameServerPing(ref m_d2gsConnection);
            m_gameThread     = new GameThread(m_d2gsConnection, chickenLife, potLife);
            m_asciiMap       = new AsciiMap(m_gameThread.GameData, m_d2gsConnection);

            m_d2gsConnection.StartThread += delegate {
                m_d2gsHandlerThread      = new Thread(m_d2gsHandler.ThreadFunction);
                m_d2gsHandlerThread.Name = account + " [D2Gs]:";
                m_d2gsReaderThread       = new Thread(m_d2gsReader.ThreadFunction);
                m_d2gsReaderThread.Name  = account + " [D2GS]:";

                m_d2gsHandlerThread.Start();
                m_d2gsReaderThread.Start();
            };

            m_d2gsHandler.StartPinging += delegate
            {
                m_gsPingThread      = new Thread(m_gsPing.Run);
                m_gsPingThread.Name = account + " [D2GS]:";
                m_gsPingThread.Start();
                m_mapThread = new Thread(m_asciiMap.ThreadFunction);
                m_mapThread.Start();
            };


            m_botThread      = new Thread(m_gameThread.BotThread);
            m_botThread.Name = account + " [BOT]:";
            m_botThread.Start();

            SubscribeGameServerEvents();
        }