示例#1
0
 /// <summary>
 /// 通过玩家ID调用客户端的方法...
 /// </summary>
 /// <param name="note"></param>
 private void InvokeClientByPlayerID(InvokeClientNote note)
 {
     //if (note == null || note.IDList == null) return;
     //switch (note.IDList.Count)
     //{
     //    case 0: return;
     //    case 1: PlayerBusiness one;
     //        if (PlayersProxy.TryGetPlayerByID(note.IDList[0], out one))
     //        {
     //            one.Call(note.Type, note.Body as IList);
     //        }
     //        return;
     //    default:
     //        var buffer = AmfCodec.Encode(note.Type, note.Body as IList);
     //        foreach (var playerID in note.IDList)
     //        {
     //            PlayerBusiness player;
     //            if (PlayersProxy.TryGetPlayerByID(playerID, out player))
     //            {
     //                player.Call(buffer);
     //            }
     //        }
     //        return;
     //}
 }
示例#2
0
 void ExecuteNote(InvokeClientNote note)
 {
     if (note.Name == MessageCommand.InvokeClientByConnectID)
     {
         InvokeClientByConnectID(note);
     }
     else if (note.Name == MessageCommand.InvokeClientByPlayerID)
     {
         InvokeClientByPlayerID(note);
     }
     else if (note.Name == MessageCommand.InvokeClientByUserID)
     {
         InvokeClientByUserID(note);
     }
 }
示例#3
0
 /// <summary>
 /// 通过连接ID调用客户端的方法...
 /// (此类通知一般由服务端发起)
 /// </summary>
 /// <param name="note"></param>
 private void InvokeClientByConnectID(InvokeClientNote note)
 {
     //if (note == null || note.IDList == null) return;
     //switch (note.IDList.Count)
     //{
     //    case 0: return;
     //    case 1:
     //        SessionsProxy.Call(note.IDList[0], note.Type, note.Body as IList);
     //        return;
     //    default:
     //        var buffer = AmfCodec.Encode(note.Type, note.Body as IList);
     //        foreach (var connectID in note.IDList)
     //        {
     //            SessionsProxy.Call(connectID, buffer);
     //        }
     //        return;
     //}
 }
示例#4
0
 /// <summary>
 /// 通过用户ID调用客户端的方法...
 /// </summary>
 /// <param name="note"></param>
 private void InvokeClientByUserID(InvokeClientNote note)
 {
     //if (note == null || note.IDList == null) return;
     //switch (note.IDList.Count)
     //{
     //    case 0: return;
     //    case 1: UserSession one;
     //        if (UsersProxy.TryGetUser(note.IDList[0], out one))
     //        {
     //            one.CallArray(note.Type, note.Body as IList);
     //        }
     //        return;
     //    default:
     //        var buffer = AmfCodec.Encode(note.Type, note.Body as IList);
     //        foreach (var user in note.IDList)
     //        {
     //            UserSession session;
     //            if (UsersProxy.TryGetUser(user, out session))
     //            {
     //                session.SendAsync(buffer);
     //            }
     //        }
     //        return;
     //}
 }