//EventEntityPacket private static void HandlePacket(EventEntityPacket packet) { var map = MapInstance.Get(packet.MapId); if (map != null) { map?.AddEvent(packet.EntityId, packet); } else { var dict = Globals.PendingEvents.ContainsKey(packet.MapId) ? Globals.PendingEvents[packet.MapId] : new Dictionary <Guid, EventEntityPacket>(); if (dict.ContainsKey(packet.EntityId)) { dict[packet.EntityId] = packet; } else { dict.Add(packet.EntityId, packet); } if (!Globals.PendingEvents.ContainsKey(packet.MapId)) { Globals.PendingEvents.Add(packet.MapId, dict); } } }
//Events public void AddEvent(Guid evtId, EventEntityPacket packet) { if (MapLoaded) { if (LocalEntities.ContainsKey(evtId)) { LocalEntities[evtId].Load(packet); } else { var evt = new Event(evtId, packet); LocalEntities.Add(evtId, evt); mEvents.Add(evt); } } }
public Event(Guid id, EventEntityPacket packet) : base(id, packet, true) { mRenderPriority = 1; }