Beispiel #1
0
    private void handleHCUpdate(AbstractMessage message)
    {
        HCMessage hcMessage = message as HCMessage;

        gameModel.User.HC += hcMessage.Amount;
        Messenger.Dispatch(HCMessage.UPDATED);
        updateView();
    }
 /// <summary>
 /// 客户端接收到消息
 /// </summary>
 /// <param name="state"></param>
 /// <param name="msg"></param>
 private void HCServer_ClientDataState(HCDataStateEnmu state, HCMessage msg)
 {
     try
     {
         if (msg.ClientID == "")
         {                                                                   //没有客户端ID,解析ID
             string[] info = msg.GetDataString().Split(new string[] { "/" }, StringSplitOptions.None);
             string   ver  = info[0];                                        //协议版本号
             msg.ClientID          = info[1];                                //客户端ID
             msg.HCClient.ClientID = info[1];                                //客户端ID
             ClientState?.Invoke(HCClientStateEnmu.Connected, msg.HCClient); //客户端连接成功(业务逻辑上成功)
         }
         else
         {
             ClientDataState?.Invoke(state, msg);
         }
     }
     catch (Exception e)
     {
         ServerState?.Invoke(HCServerStateEnmu.RunningException, e.Message);
     }
 }