public int GetHashCode(object obj) { if (!(obj is FamilyActionPair)) { return(0); } FamilyActionPair fap /*lol*/ = (FamilyActionPair)obj; return((int)fap.fam << 8 & (byte)fap.act); }
public void AddPacketHandler(FamilyActionPair key, PacketHandler handlerFunction, bool inGameOnly) { if (m_handlers.ContainsKey(key)) { m_handlers[key] = new LockedHandlerMethod(handlerFunction, inGameOnly); } else { m_handlers.Add(key, new LockedHandlerMethod(handlerFunction, inGameOnly)); } }
bool IEqualityComparer.Equals(object obj1, object obj2) { if (!(obj1 is FamilyActionPair) || !(obj2 is FamilyActionPair)) { return(false); } FamilyActionPair fap1 = (FamilyActionPair)obj1, fap2 = (FamilyActionPair)obj2; return(fap1.fam == fap2.fam && fap1.act == fap2.act); }
public void AddPacketHandler(FamilyActionPair key, PacketHandler handlerFunction, bool inGameOnly) { if (_handlers.ContainsKey(key)) { _handlers[key] = new PacketHandlerInvoker(handlerFunction, inGameOnly); } else { _handlers.Add(key, new PacketHandlerInvoker(handlerFunction, inGameOnly)); } }
private void _handlePacket(object state) { Packet pkt = (Packet)state; FamilyActionPair pair = new FamilyActionPair(pkt.Family, pkt.Action); bool handled = false; if (m_handlers.ContainsKey(pair)) { handled = true; m_handlers[pair].InvokeHandler(pkt, IsInGame); } if (EventReceiveData != null) { DataTransferEventArgs dte = new DataTransferEventArgs(DataTransferEventArgs.TransferType.Recv, pkt.Family, pkt.Action, pkt.Data) { PacketHandled = handled }; EventReceiveData(dte); } }
private void _handlePacket(object state) { Packet pkt = (Packet) state; FamilyActionPair pair = new FamilyActionPair(pkt.Family, pkt.Action); bool handled = false; if (m_handlers.ContainsKey(pair)) { handled = true; m_handlers[pair].InvokeHandler(pkt, IsInGame); } if (EventReceiveData != null) { DataTransferEventArgs dte = new DataTransferEventArgs(DataTransferEventArgs.TransferType.Recv, pkt.Family, pkt.Action, pkt.Data) { PacketHandled = handled }; EventReceiveData(dte); } }
public void AddPacketHandler(FamilyActionPair key, PacketHandler handlerFunction, bool inGameOnly) { if (m_handlers.ContainsKey(key)) m_handlers[key] = new LockedHandlerMethod(handlerFunction, inGameOnly); else m_handlers.Add(key, new LockedHandlerMethod(handlerFunction, inGameOnly)); }