Esempio n. 1
0
        private void OnNpcFish(PacketReceiveEvent <NpcFish> evt)
        {
            var packet   = evt.Packet;
            var position = new Vector2f(16 * packet.X, 16 * packet.Y);

            _events.Forward(evt, new NpcFishEvent(evt.Sender, position, packet.Id), _log);
        }
Esempio n. 2
0
        private void OnNpcAddBuff(PacketReceiveEvent <NpcAddBuff> evt)
        {
            var packet = evt.Packet;
            var buff   = new Buff(packet.Id, packet.Ticks);

            _events.Forward(evt, new NpcAddBuffEvent(this[packet.NpcIndex], evt.Sender, buff), _log);
        }
Esempio n. 3
0
        private void OnChestInventory(PacketReceiveEvent <ChestInventory> evt)
        {
            var packet = evt.Packet;
            var item   = new ItemStack(packet.Id, packet.Prefix, packet.StackSize);

            _events.Forward(evt, new ChestInventoryEvent(this[packet.ChestIndex], evt.Sender, packet.Slot, item), _log);
        }
        private void PacketReceive_EventCanceled <TPacket, TEvent>(TPacket packet, IPlayer sender)
            where TPacket : IPacket
            where TEvent : Event
        {
            Action <PacketReceiveEvent <TPacket> >?registeredHandler = null;

            var events = Mock.Of <IEventManager>();
            var log    = Mock.Of <ILogger>();

            Mock.Get(events)
            .Setup(em => em.RegisterHandler(It.IsAny <Action <PacketReceiveEvent <TPacket> > >(), log))
            .Callback <Action <PacketReceiveEvent <TPacket> >, ILogger>(
                (handler, log) => registeredHandler = handler);

            using var signService = new OrionSignService(events, log);

            var evt = new PacketReceiveEvent <TPacket>(packet, sender);

            Mock.Get(events)
            .Setup(em => em.Raise(It.IsAny <TEvent>(), log))
            .Callback <TEvent, ILogger>((evt, log) => evt.Cancel());

            Assert.NotNull(registeredHandler);
            registeredHandler !(evt);

            Assert.True(evt.IsCanceled);

            Mock.Get(events).VerifyAll();
        }
Esempio n. 5
0
        private void PacketReceive_EventTriggered <TPacket, TEvent>(
            TPacket packet, IPlayer sender, Expression <Func <TEvent, bool> > match)
            where TPacket : IPacket
            where TEvent : Event
        {
            Action <PacketReceiveEvent <TPacket> >?registeredHandler = null;

            var events = Mock.Of <IEventManager>();
            var log    = Mock.Of <ILogger>();

            Mock.Get(events)
            .Setup(em => em.RegisterHandler(It.IsAny <Action <PacketReceiveEvent <TPacket> > >(), log))
            .Callback <Action <PacketReceiveEvent <TPacket> >, ILogger>(
                (handler, log) => registeredHandler = handler);

            using var world = new OrionWorld(events, log);

            var evt = new PacketReceiveEvent <TPacket>(packet, sender);

            Mock.Get(events)
            .Setup(em => em.Raise(It.Is(match), log));

            Assert.NotNull(registeredHandler);
            registeredHandler !(evt);

            Mock.Get(events).VerifyAll();
        }
Esempio n. 6
0
        private void OnSignRead(PacketReceiveEvent <SignRead> evt)
        {
            var packet = evt.Packet;
            var sign   = FindSign(packet.X, packet.Y);

            if (sign is null)
            {
                return;
            }

            _events.Forward(evt, new SignReadEvent(sign, evt.Sender), _log);
        }
Esempio n. 7
0
        private void OnChestOpen(PacketReceiveEvent <ChestOpen> evt)
        {
            var packet = evt.Packet;
            var chest  = FindChest(packet.X, packet.Y);

            if (chest is null)
            {
                return;
            }

            _events.Forward(evt, new ChestOpenEvent(chest, evt.Sender), _log);
        }
        private void HandleRead()
        {
            while (listening)
            {
                string inn = In.ReadLine();
                if (inn.EndsWith("\n"))
                {
                    inn = inn.Substring(0, inn.Length - 1);
                }

                byte[] data   = Constants.ENCODING.GetBytes(inn);
                byte   header = data[0];

                bool send = (header >> 7 == 1);
                if (!send)
                {
                    byte   id         = (byte)(header & 0x0111111);
                    byte[] restOfData = new byte[data.Length - 1];

                    for (int i = 1; i < data.Length; i++)
                    {
                        restOfData[i - 1] = data[i];
                    }

                    switch (id)
                    {
                    case 0x00000001:
                        MessageBox.Show("Ping Recieved!");
                        break;

                    case 0x00000010:
                        PacketReceiveEvent.Invoke(this, new PacketReceiveEventArgs(new PacketMessageReceive(restOfData)));
                        break;
                    }
                }
            }
        }
Esempio n. 9
0
        private void OnNpcCatch(PacketReceiveEvent <NpcCatch> evt)
        {
            var packet = evt.Packet;

            _events.Forward(evt, new NpcCatchEvent(this[packet.NpcIndex], evt.Sender), _log);
        }