void HandleConnectingEvent() { if (ConnectingEvent != null) { ConnectingEvent.Invoke(); } }
public static void ConnectingPriority([NotNull] EventHandler <PlayerConnectingEventArgs> callback, Priority priority) { if (callback == null) { throw new ArgumentNullException("callback"); } ConnectingEvent.Add(callback, priority); }
public void mSendSystemMessage(ConnectingEvent ev) { if (mLstMessage.Count == 0) { return; } ev.Cancel = true; Client sender = this.clientRepository.GetByID(ev.Message[0].clientId); ArrayList messageList = new ArrayList(); Dictionary <string, object> messagedata = null; foreach (MessageStruct.clsSystemMessageStruct lObjMessage in mLstMessage) { messagedata = new Dictionary <string, object> { { "jsMessageTime", DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") }, { "jsMessageType", MessageIndicator.clsMessageIndicator.MSG_INDC_SERVER_SYSTEM_MESSAGE }, { "jsMessageBody", new Dictionary <string, object> { { "jsSystemMessageSrno", lObjMessage.prpLngSystemMessageSrno }, { "jsSystemMessageTime", lObjMessage.prpStrSystemMessageTime }, { "jsSystemMessageType", "[" + lObjMessage.prpStrSystemMessageType + "]" }, { "jsSystemMessage", lObjMessage.prpStrUserName + " : " + lObjMessage.prpStrSystemMessage }, { "jsSystemMessageLevel", lObjMessage.prpStrMessageLevel }, { "jsSystemMessageUser", lObjMessage.prpStrUserName } } } }; Message message = new Message { channel = strChannelName, data = messagedata }; messageList.Add(message); } mLstMessage.Clear(); ev.Message = new Message[messageList.Count]; messageList.CopyTo(ev.Message); foreach (Client subscriber in this.clientRepository.WhereSubscribedTo(strChannelName).Where(c => c.ID != sender.ID)) { subscriber.Enqueue(ev.Message); subscriber.FlushQueue(); } }
public MessageHandlerResult HandleMessage(Message request) { if (!ClientExistsFor(request)) { return(new MessageHandlerResult { Message = GetUnrecognisedClientResponse(request), ShouldWait = false }); } Client client = clientRepository.GetByID(request.clientId); bool isFirstConnectRequest = !client.IsConnected; client.NotifyConnected(); //处理服务端推入消息 //修改:jar on 2010-01-25 Message[] requestMessage = { request }; Message[] responseMessage = null; ConnectingEvent e = new ConnectingEvent(requestMessage); EventHub.Publish(e); if (e.Cancel) { ArrayList messageList = new ArrayList(); messageList.Add(GetSuccessfulResponse(request)[0]); foreach (Message message in e.Message) { messageList.Add(message); } ; responseMessage = new Message[messageList.Count]; messageList.CopyTo(responseMessage); return(new MessageHandlerResult { Message = responseMessage, ShouldWait = false }); } else { return(new MessageHandlerResult { Message = GetSuccessfulResponse(request), ShouldWait = !isFirstConnectRequest }); } }
void StartConnecting(string serverAdress) { if (serverAdress.Equals("127.0.0.1") || serverAdress.Equals("localhost")) { m_ServerIp = "127.0.0.1"; m_State = ConnectState.Resolved; } else if (serverAdress.IndexOf(':') != -1 && NetworkUtility.IsValidIpV6(serverAdress)) { m_ServerIp = serverAdress; m_State = ConnectState.Resolved; } else { m_State = ConnectState.Resolving; Dns.BeginGetHostAddresses(serverAdress, HandleDNSResult, this); } ConnectingEvent?.Invoke(); }
void HandleConnectingEvent() { ConnectingEvent?.Invoke(); }
public void Handle(ConnectingEvent message) { IsConnected = false; IsConnecting = true; IsEditingEnabled = false; }