public void CreateExplosionFor_SendsPacketsToChosenClients()
    {
        var mtaServer = new TestingServer();
        var players   = new TestingPlayer[] {
            mtaServer.AddFakePlayer(),
            mtaServer.AddFakePlayer(),
            mtaServer.AddFakePlayer(),
        };
        var additionalPlayers = new TestingPlayer[]
        {
            mtaServer.AddFakePlayer(),
            mtaServer.AddFakePlayer(),
            mtaServer.AddFakePlayer(),
        };

        var service = new ExplosionService(mtaServer);

        service.CreateExplosionFor(players, Vector3.Zero, Enums.ExplosionType.WeakRocket);

        foreach (var player in players)
        {
            mtaServer.VerifyPacketSent(Packets.Enums.PacketId.PACKET_ID_EXPLOSION, player);
        }
        foreach (var player in additionalPlayers)
        {
            mtaServer.VerifyPacketSent(Packets.Enums.PacketId.PACKET_ID_EXPLOSION, player, count: 0);
        }
    }
Exemple #2
0
 public void ApplyConfiguration(string configurationXml)
 {
     _gameConfig       = new XmlSerializer <TankBlasterConfig>().Deserialize(configurationXml);
     _field            = new Battlefield(_gameConfig.MapWidth, _gameConfig.MapHeight);
     _locationService  = new LocationService(_field);
     _explosionService = new ExplosionService(_field, _gameConfig, _locationService);
     _botService       = new BotService(_field, _gameConfig, _locationService);
 }
    public void CreateExplosion_SendsExpectedPacket()
    {
        var mtaServer = new TestingServer();
        var player    = mtaServer.AddFakePlayer();

        var service = new ExplosionService(mtaServer);

        service.CreateExplosion(Vector3.Zero, Enums.ExplosionType.WeakRocket);

        var expectedPacket = new ExplosionPacket(null, null, Vector3.Zero, (byte)Enums.ExplosionType.WeakRocket, 0);

        mtaServer.VerifyPacketSent(Packets.Enums.PacketId.PACKET_ID_EXPLOSION, player, expectedPacket.Write());
    }
    public void CreateExplosion_BroadcastsExplosionPacket()
    {
        var mtaServer = new TestingServer();
        var players   = new TestingPlayer[] {
            mtaServer.AddFakePlayer(),
            mtaServer.AddFakePlayer(),
            mtaServer.AddFakePlayer(),
        };

        var service = new ExplosionService(mtaServer);

        service.CreateExplosion(Vector3.Zero, Enums.ExplosionType.WeakRocket);

        foreach (var player in players)
        {
            mtaServer.VerifyPacketSent(Packets.Enums.PacketId.PACKET_ID_EXPLOSION, player);
        }
    }
 public ExplosionScriptDefinitions(ExplosionService explosionService)
 {
     this.explosionService = explosionService;
 }