private void ProcessMessageQueue(MessageInfo messageInfo) { var corporations = new Dictionary <long, Corporation>(); while (true) { if (!corporations.TryGetValue(messageInfo.corporationEid, out Corporation corporation)) { if (messageInfo.corporation != null) { corporation = messageInfo.corporation; } else { corporation = Corporation.Get(messageInfo.corporationEid); if (corporation != null) { corporations[messageInfo.corporationEid] = corporation; } } } if (corporation != null) { var members = messageInfo.role != CorporationRole.NotDefined ? corporation.GetMembersByRole(messageInfo.role) : corporation.GetCharacterMembers(); _messageSender.SendToCharacters(messageInfo.message, members); } lock (_messageQueue) { if (_messageQueue.Count == 0) { _processing = false; return; } messageInfo = _messageQueue.Dequeue(); } } }
public Corporation GetSiteOwner() { var info = GetIntrusionSiteInfo(); return(Corporation.Get(info.Owner ?? 0L)); }
public void Visit(PBSDockingBase dockingBase) { _owner = Corporation.Get(dockingBase.Owner); }