public void CreateFireFor_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 FireService(mtaServer); service.CreateFireFor(players, Vector3.Zero); foreach (var player in players) { mtaServer.VerifyPacketSent(Packets.Enums.PacketId.PACKET_ID_FIRE, player); } foreach (var player in additionalPlayers) { mtaServer.VerifyPacketSent(Packets.Enums.PacketId.PACKET_ID_FIRE, player, count: 0); } }
public void HandlePacketRelaysPureSyncPacket() { var server = new TestingServer(); var sourcePlayer = server.AddFakePlayer(); var otherPlayers = new TestingPlayer[] { server.AddFakePlayer(), server.AddFakePlayer(), server.AddFakePlayer() }; Mock <ILogger> loggerMock = new(); Mock <ISyncHandlerMiddleware <PlayerPureSyncPacket> > middlewareMock = new(); middlewareMock.Setup(x => x.GetPlayersToSyncTo(sourcePlayer, It.IsAny <PlayerPureSyncPacket>())).Returns(otherPlayers); Mock <IElementCollection> elementCollectionMock = new(); var handler = new PlayerPureSyncPacketHandler(loggerMock.Object, middlewareMock.Object, elementCollectionMock.Object); handler.HandlePacket(sourcePlayer.Client, new PlayerPureSyncPacket() { }); foreach (var player in otherPlayers) { server.VerifyPacketSent(PacketId.PACKET_ID_PLAYER_PURESYNC, player); } }
public void HandlePacketRelaysPureSyncPacket() { var server = new TestingServer(); var sourcePlayer = server.AddFakePlayer(); var otherPlayers = new TestingPlayer[] { server.AddFakePlayer(), server.AddFakePlayer(), server.AddFakePlayer() }; Mock <ILogger> loggerMock = new(); Mock <ISyncHandlerMiddleware <PlayerPureSyncPacket> > middlewareMock = new(); middlewareMock.Setup(x => x.GetPlayersToSyncTo(sourcePlayer, It.IsAny <PlayerPureSyncPacket>())).Returns(otherPlayers); Mock <IElementRepository> elementRepositoryMock = new(); var handler = new PlayerPureSyncPacketHandler(loggerMock.Object, middlewareMock.Object, elementRepositoryMock.Object); handler.HandlePacket(sourcePlayer.Client, new PlayerPureSyncPacket() { }); foreach (var player in otherPlayers) { server.NetWrapperMock.Verify(x => x.SendPacket( player.Address, PacketId.PACKET_ID_PLAYER_PURESYNC, It.IsAny <ushort>(), It.IsAny <byte[]>(), It.IsAny <PacketPriority>(), It.IsAny <PacketReliability>())); } }
public void PlayerSpawn_ShouldResetDefaults() { var player = TestingPlayer.CreateStandalone(); player.HasJetpack = true; player.Health = 50; player.Armor = 10; player.AddWeapon(WeaponId.Ak47, 100); player.Dimension = 10; player.Interior = 10; player.VehicleAction = VehicleAction.Entering; player.Vehicle = new Server.Elements.Vehicle(Server.Elements.VehicleModel.Alpha, Vector3.Zero); player.Seat = 0; player.Spawn(Vector3.Zero, 0, 0, 5, 5); player.HasJetpack.Should().BeFalse(); player.Health.Should().Be(100); player.Armor.Should().Be(0); player.Weapons.Should().BeEmpty(); player.Dimension.Should().Be(5); player.Interior.Should().Be(5); player.VehicleAction.Should().Be(VehicleAction.None); player.Vehicle.Should().BeNull(); player.Seat.Should().BeNull(); }
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); } }
SpriteRenderer spriteRen; //声明该组件用来更换表情 public void Start() { expresMana = FindObjectOfType <ExpressionManager>(); enemyChar = GetComponent <EnemyCharacter>(); testing = GetComponent <TestingPlayer>(); spriteRen = GetComponentInChildren <SpriteRenderer>(); }
protected override IClient CreateClient(uint binaryAddress, INetWrapper netWrapper) { var player = new TestingPlayer(); player.Client = new TestingClient(binaryAddress, netWrapper, player); return(player.Client); }
public static TestingPlayer CreateStandalone() { var netWrapper = new Mock <INetWrapper>(); var player = new TestingPlayer(); player.Client = new TestingClient(0, netWrapper.Object, player); return(player); }
public void SetMoneyByProperty_ShouldStayWithinNegativeBounds() { var player = TestingPlayer.CreateStandalone(); player.Money = -1000000000; player.Money.Should().Be(-99999999); }
public void SetMoney_ShouldStayWithinBounds() { var player = TestingPlayer.CreateStandalone(); player.SetMoney(1000000000); player.Money.Should().Be(99999999); }
public void CreateFire_BroadcastsFirePacket() { var mtaServer = new TestingServer(); var players = new TestingPlayer[] { mtaServer.AddFakePlayer(), mtaServer.AddFakePlayer(), mtaServer.AddFakePlayer(), }; var service = new FireService(mtaServer); service.CreateFire(Vector3.Zero); foreach (var player in players) { mtaServer.VerifyPacketSent(Packets.Enums.PacketId.PACKET_ID_FIRE, player); } }
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 void HandlePacketSendReturnSyncPacket() { var server = new TestingServer(); var sourcePlayer = server.AddFakePlayer(); var otherPlayers = new TestingPlayer[] { server.AddFakePlayer(), server.AddFakePlayer(), server.AddFakePlayer() }; Mock <ILogger> loggerMock = new(); Mock <ISyncHandlerMiddleware <PlayerPureSyncPacket> > middlewareMock = new(); middlewareMock.Setup(x => x.GetPlayersToSyncTo(sourcePlayer, It.IsAny <PlayerPureSyncPacket>())).Returns(otherPlayers); Mock <IElementRepository> elementRepositoryMock = new(); var handler = new PlayerPureSyncPacketHandler(loggerMock.Object, middlewareMock.Object, elementRepositoryMock.Object); handler.HandlePacket(sourcePlayer.Client, new PlayerPureSyncPacket() { }); server.NetWrapperMock.Verify(x => x.SendPacket(sourcePlayer.Address, It.IsAny <ushort>(), It.IsAny <ReturnSyncPacket>())); }
public void HandlePacket(TestingPlayer source, PacketId packetId, byte[] data) { this.packetReducer.EnqueuePacket(source.Client, packetId, data); }