internal StaminaFilter(IServerPacketSubject serverPacketHandler, UltimaClient ultimaClient) { serverPacketHandler.RegisterOutputFilter(FilterStamina); this.ultimaClient = ultimaClient; serverPacketHandler.Subscribe(PacketDefinitions.UpdateCurrentStamina, HandleUpdateCurrentStamina); serverPacketHandler.Subscribe(PacketDefinitions.StatusBarInfo, HandleStatusBarInfo); }
public ItemsObservers(GameObjectCollection gameObjects, IServerPacketSubject serverPacketSubject, IClientPacketSubject clientPacketSubject, Legacy legacyApi, EventJournalSource eventJournalSource) { this.eventJournal = new EventJournal(eventJournalSource); this.waitForItemDraggedJournal = new EventJournal(eventJournalSource); this.gameObjects = gameObjects; this.gameObjects.MobileLeftView += (sender, mobile) => { eventJournalSource.Publish(new MobileLeftViewEvent(mobile)); }; this.gameObjects.MobileDeleted += (sender, mobile) => { eventJournalSource.Publish(new MobileLeftViewEvent(mobile)); }; this.legacyApi = legacyApi; this.eventJournalSource = eventJournalSource; serverPacketSubject.Subscribe(PacketDefinitions.AddMultipleItemsInContainer, HandleAddMultipleItemsInContainer); serverPacketSubject.Subscribe(PacketDefinitions.AddItemToContainer, HandleAddItemToContainer); serverPacketSubject.Subscribe(PacketDefinitions.DeleteObject, HandleDeleteObjectPacket); serverPacketSubject.Subscribe(PacketDefinitions.ObjectInfo, HandleObjectInfoPacket); serverPacketSubject.Subscribe(PacketDefinitions.SecondAgeObjectInformation7090, HandleSecondAgeObjectInfoPacket); serverPacketSubject.Subscribe(PacketDefinitions.DrawObject, HandleDrawObjectPacket); serverPacketSubject.Subscribe(PacketDefinitions.UpdatePlayer, HandleUpdatePlayerPacket); serverPacketSubject.Subscribe(PacketDefinitions.UpdateCurrentHealth, HandleUpdateCurrentHealthPacket); serverPacketSubject.Subscribe(PacketDefinitions.WornItem, HandleWornItemPacket); serverPacketSubject.Subscribe(PacketDefinitions.RejectMoveItemRequest, HandleRejectMoveItemRequestPacket); serverPacketSubject.Subscribe(PacketDefinitions.DrawContainer, HandleDrawContainer); serverPacketSubject.Subscribe(PacketDefinitions.PauseClient, HandlePauseClient); serverPacketSubject.Subscribe(PacketDefinitions.SendSpeech, HandleSendSpeechPacket); serverPacketSubject.Subscribe(PacketDefinitions.StatusBarInfo, HandleStatusBarInfo); serverPacketSubject.Subscribe(PacketDefinitions.GraphicalEffect, HandleGraphicalEffect); clientPacketSubject.Subscribe(PacketDefinitions.DoubleClick, HandleDoubleClick); serverPacketSubject.RegisterOutputFilter(FilterServerPackets); }
public void RegisterOutputFilter(Func <Packet, Packet?> filter) { packetSubject.RegisterOutputFilter(filter); }
public ShapeshiftingFilter(IServerPacketSubject serverPacketHandler, UltimaClient client) { serverPacketHandler.RegisterOutputFilter(FilterItemShapes); }
public ShapeshiftingFilter(IServerPacketSubject serverPacketHandler, UltimaClient client, PacketDefinitionRegistry packetRegistry) { serverPacketHandler.RegisterOutputFilter(FilterItemShapes); this.packetRegistry = packetRegistry; }