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); } }
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; }