示例#1
0
        private void OnPlayerJoin(Player player)
        {
            var elements = this.elementRepository.GetAll();
            var packet   = AddEntityPacketFactory.CreateAddEntityPacket(elements);

            player.Client.SendPacket(packet);
        }
        private void SetupTestElements(Client client)
        {
            var worldObject = new WorldObject(321, new Vector3(5, 0, 3)).AssociateWith(server);

            var entityPacket = AddEntityPacketFactory.CreateAddEntityPacket(new Element[]
            {
                new Water(new Vector3[]
                {
                    new Vector3(-6, 0, 4), new Vector3(-3, 0, 4),
                    new Vector3(-6, 3, 4), new Vector3(-3, 3, 4)
                }).AssociateWith(server),
                new WorldObject(321, new Vector3(5, 0, 3)).AssociateWith(server),
                new Blip(new Vector3(20, 0, 0), BlipIcon.Bulldozer).AssociateWith(server),
                new RadarArea(new Vector2(0, 0), new Vector2(200, 200), Color.FromArgb(100, Color.Aqua)).AssociateWith(server),
                new Marker(new Vector3(5, 0, 2), MarkerType.Cylinder)
                {
                    Color = Color.FromArgb(100, Color.Cyan)
                }.AssociateWith(server),
                new Pickup(new Vector3(0, 5, 3), PickupType.Health, 20).AssociateWith(server),
                new Ped(7, new Vector3(10, 0, 3)).AssociateWith(server),
                new Weapon(355, new Vector3(10, 10, 5))
                {
                    TargetType     = WeaponTargetType.Fixed,
                    TargetPosition = new Vector3(10, 10, 5)
                }.AssociateWith(server),
                new Vehicle(602, new Vector3(-10, 5, 3)).AssociateWith(server),
                worldObject
            });

            client.SendPacket(entityPacket);
        }
    private void OnPlayerJoin(Player player)
    {
        var elements = this.elementCollection.GetAll();
        var packet   = AddEntityPacketFactory.CreateAddEntityPacket(elements);

        player.Client.SendPacket(packet);

        player.Disconnected += OnPlayerDisconnect;

        this.logger.LogInformation($"{player.Name} ({player.Client.Version}) ({player.Client.Serial}) has joined the server!");
    }
示例#4
0
        private void TestClientResource(Client client)
        {
            if (resourceRoot != null && resourceDynamic != null)
            {
                var entityPacket = AddEntityPacketFactory.CreateAddEntityPacket(new Element[] { resourceRoot, resourceDynamic });
                client.SendPacket(entityPacket);

                var testResourceFiles = this.resourceServer.GetResourceFiles("./TestResource");
                client.SendPacket(new ResourceStartPacket(
                                      "TestResource", 0, resourceRoot.Id, resourceDynamic.Id, 0, null, null, false, 0, testResourceFiles, new string[0])
                                  );
            }
        }
示例#5
0
    private void OnElementCreate(Element element)
    {
        element.PositionChanged        += RelayPositionChange;
        element.RotationChanged        += RelayRotationChange;
        element.AlphaChanged           += RelayAlphaChange;
        element.DimensionChanged       += RelayDimensionChange;
        element.InteriorChanged        += RelayInteriorChange;
        element.CallPropagationChanged += RelayCallPropagationChanged;
        element.CollisionEnabledhanged += RelayCollisionEnabledhanged;
        element.FrozenChanged          += RelayElementFrozenChanged;
        element.Destroyed += RelayElementDestroy;

        this.server.BroadcastPacket(AddEntityPacketFactory.CreateAddEntityPacket(new Element[] { element }));
    }
        private void TestClientResource(Client client)
        {
            var resourceRoot = new DummyElement()
            {
                Parent          = this.root,
                ElementTypeName = "resource",
            }.AssociateWith(server);
            var resourceDyanmic = new DummyElement()
            {
                Parent          = resourceRoot,
                ElementTypeName = "resource",
            }.AssociateWith(server);

            var entityPacket = AddEntityPacketFactory.CreateAddEntityPacket(new Element[] { resourceRoot, resourceDyanmic });

            client.SendPacket(entityPacket);

            var testResourceFiles = this.resourceServer.GetResourceFiles("./TestResource");

            client.SendPacket(new ResourceStartPacket(
                                  "TestResource", 0, resourceRoot.Id, resourceDyanmic.Id, 0, null, null, false, 0, testResourceFiles, new string[0])
                              );
        }
示例#7
0
 public static void CreateFor(this IEnumerable <Element> elements, IEnumerable <Player> players)
 {
     AddEntityPacketFactory.CreateAddEntityPacket(elements).SendTo(players);
 }