public void AddMessageToHistoryTextBox(ChatEngine.StringInfo messageInfo) { if (messageInfo.strRoomID.Equals(Login._UserInfo.GameId)) { InterpretServerMessgae(messageInfo.UserId, messageInfo.String, messageInfo.FontSize, messageInfo.FontName, messageInfo.FontStyle, messageInfo.FontWeight, messageInfo.FontColor); } }
private void SendMessage(string strMessage) { try { int nFontSize = 0; string strFontName = ""; string strFontStyle = ""; string strFontWeight = ""; string strFontColor = ""; nFontSize = Convert.ToInt32(this.rtxtMessageEdit.FontSize); strFontName = rtxtMessageEdit.FontFamily.Source; if (this.rtxtMessageEdit.FontStyle == FontStyles.Italic) { strFontStyle = FontInfo.FONT_STYLE_ITALIC; } else { strFontStyle = FontInfo.FONT_STYLE_NORMAL; } if (this.rtxtMessageEdit.FontWeight == FontWeights.Bold) { strFontWeight = FontInfo.FONT_WEIGHT_BOLD; } else { strFontWeight = FontInfo.FONT_WEIGHT_NORMAL; } strFontColor = rtxtMessageEdit.Foreground.ToString(); ChatEngine.StringInfo messageInfo = new ChatEngine.StringInfo(); messageInfo.UserId = Login._UserInfo.Id; messageInfo.String = strMessage; messageInfo.FontSize = nFontSize; messageInfo.FontName = strFontName; messageInfo.FontStyle = strFontStyle; messageInfo.FontWeight = strFontWeight; messageInfo.FontColor = strFontColor; messageInfo.strRoomID = Login._UserInfo.GameId; Login._ClientEngine.Send(NotifyType.Request_GameChat, messageInfo); } catch (Exception) { } }
public void OnReceive(NotifyType type, Socket socket, BaseInfo baseInfo) { try { switch (type) { case NotifyType.Reply_GameChat: { ChatEngine.StringInfo strInfo = (ChatEngine.StringInfo)baseInfo; AddMessageToHistoryTextBox(strInfo); } break; case NotifyType.Reply_Betting: { if (!(baseInfo is BettingInfo)) { return; } BettingInfo bettingInfo = (BettingInfo)baseInfo; if (m_wMeChairID == bettingInfo._UserIndex || m_tableinfo == null) { return; } string strMsg = string.Format("{0} <{1}> 下注", m_tableinfo._Players[bettingInfo._UserIndex].Nickname, GetUriString(bettingInfo._Score)); InterpretServerMessgae("AMDIN_MSG", strMsg, 12, "Segoe UI", "b", "d", "#FFFFFF"); } break; } } catch (Exception) { } }
private void NotifyOccured(NotifyType notifyType, Socket socket, BaseInfo baseInfo) { switch (notifyType) { case NotifyType.Reply_TableDetail: { if (!(baseInfo is TableInfo)) { return; } TableInfo tableInfo = (TableInfo)baseInfo; m_wMeChairID = GameDefine.INVALID_CHAIR; for (int i = 0; i < tableInfo._Players.Count; i++) { UserInfo userInfo = tableInfo._Players[i]; if (userInfo != null && userInfo.Id == Login._UserInfo.Id) { m_wMeChairID = i; break; } } if (tableInfo._RoundIndex > 0) { // added by usc at 2014/03/11 Array.Clear(m_lUserBetAll, 0, m_lUserBetAll.Length); if (_GameInfo.Source == "Horse") { HorseInfo horseInfo = (HorseInfo)tableInfo; for (int i = 0; i < HorseDefine.AREA_COUNT; i++) { m_aAreaSum[i] = horseInfo.m_lPlayerBetAll[i]; } DrawBettingGraph(m_aAreaSum); // added by usc at 2014/03/11 for (int i = 0; i < horseInfo._Players.Count; i++) { for (int j = 0; j < HorseDefine.AREA_COUNT; j++) { m_lUserBetAll[i] += horseInfo.m_lPlayerBet[i, j]; } } } else { BumperCarInfo bumpercarInfo = (BumperCarInfo)tableInfo; for (int i = 0; i < BumperCarDefine.AREA_COUNT; i++) { m_aAreaSum[i] = bumpercarInfo.m_lAllJettonScore[i + 1]; } DrawBettingGraph(m_aAreaSum); // added by usc at 2014/03/11 for (int i = 0; i < bumpercarInfo._Players.Count; i++) { for (int j = 0; j < BumperCarDefine.AREA_COUNT; j++) { m_lUserBetAll[i] += bumpercarInfo.m_lUserJettonScore[j + 1, i]; } } } if (m_tableinfo == null) { DrawUserList(tableInfo, false); // added by usc at 2014/04/03 string strMsg = string.Format("欢迎 {0} 进入房间", Login._UserInfo.Nickname); InterpretServerMessgae("AMDIN_MSG", strMsg, 12, "Segoe UI", "b", "d", "#9adf8c"); } } if (m_tableinfo != null && m_tableinfo._RoundIndex == tableInfo._RoundIndex) { m_tableinfo = tableInfo; DrawUserList(tableInfo, false); return; } // added by usc at 2014/03/19 //if (m_wMeChairID == GameDefine.INVALID_CHAIR) // return; m_tableinfo = tableInfo; if (tableInfo._RoundIndex == 0) { // added by usc at 2014/03/11 Array.Clear(m_aAreaSum, 0, m_aAreaSum.Length); Array.Clear(m_lUserBetAll, 0, m_lUserBetAll.Length); DrawBettingGraph(m_aAreaSum); InitUserList(tableInfo); } } break; case NotifyType.Reply_GameResult: { ChatEngine.StringInfo strInfo = (ChatEngine.StringInfo)baseInfo; if (strInfo != null) { if (strInfo.UserId == Login._UserInfo.Id) { DrawUserList(m_tableinfo, true); } } } break; case NotifyType.Reply_Betting: { if (!(baseInfo is BettingInfo)) { return; } BettingInfo bettingInfo = (BettingInfo)baseInfo; int nArea = 0; if (_GameInfo.Source == "Horse") { nArea = bettingInfo._Area; } else if (_GameInfo.Source == "BumperCar") { nArea = bettingInfo._Area - 1; } m_aAreaSum[nArea] += bettingInfo._Score; // added by usc at 2014/03/11 m_lUserBetAll[bettingInfo._UserIndex] += bettingInfo._Score; DrawBettingGraph(m_aAreaSum); DrawUserList(m_tableinfo, false); } break; } }
public static BaseInfo CreateInstance(BinaryReader br) { BaseInfo baseInfo = null; InfoType infoType = (InfoType)DecodeInteger(br); switch (infoType) { case InfoType.Result: baseInfo = new ResultInfo(); break; case InfoType.Header: baseInfo = new HeaderInfo(); break; case InfoType.Home: baseInfo = new HomeInfo(); break; case InfoType.User: baseInfo = new UserInfo(); break; case InfoType.UserDetail: baseInfo = new UserDetailInfo(); break; case InfoType.Room: baseInfo = new RoomInfo(); break; case InfoType.RoomList: baseInfo = new RoomListInfo(); break; case InfoType.RoomDetail: baseInfo = new RoomDetailInfo(); break; case InfoType.String: baseInfo = new StringInfo(); break; case InfoType.Voice: baseInfo = new VoiceInfo(); break; case InfoType.Video: baseInfo = new VideoInfo(); break; case InfoType.Present: baseInfo = new IconInfo(); break; case InfoType.Give: baseInfo = new GiveInfo(); break; case InfoType.Game: baseInfo = new GameInfo(); break; case InfoType.GameList: baseInfo = new GameListInfo(); break; case InfoType.GameDetail: baseInfo = new GameDetailInfo(); break; case InfoType.ChatHistory: baseInfo = new ChatHistoryInfo(); break; case InfoType.PointHistory: baseInfo = new PointHistoryInfo(); break; case InfoType.ChargeHistory: baseInfo = new ChargeHistoryInfo(); break; case InfoType.EvalHistory: baseInfo = new EvalHistoryInfo(); break; case InfoType.PresentHistory: baseInfo = new PresentHistoryInfo(); break; case InfoType.GameHistory: baseInfo = new GameHistoryInfo(); break; case InfoType.UserList: baseInfo = new UserListInfo(); break; case InfoType.AskChat: baseInfo = new AskChatInfo(); break; case InfoType.Board: baseInfo = new BoardInfo(); break; case InfoType.Betting: baseInfo = new BettingInfo(); break; case InfoType.Table: baseInfo = new TableInfo(); break; case InfoType.Sicbo: baseInfo = new SicboInfo(); break; case InfoType.Dice: baseInfo = new DiceInfo(); break; case InfoType.DzCard: baseInfo = new DzCardInfo(); break; case InfoType.Horse: baseInfo = new HorseInfo(); break; case InfoType.BumperCar: baseInfo = new BumperCarInfo(); break; case InfoType.Fish: baseInfo = new FishInfo(); break; case InfoType.FishSend: baseInfo = new FishSendInfo(); break; case InfoType.AddScore: baseInfo = new AddScoreInfo(); break; case InfoType.SendCard: baseInfo = new SendCardInfo(); break; case InfoType.Musice: baseInfo = new MusiceInfo(); break; case InfoType.MusiceState: baseInfo = new MusiceStateInfo(); break; case InfoType.ClassInfo: baseInfo = new ClassInfo(); break; case InfoType.ClassList: baseInfo = new ClassListInfo(); break; case InfoType.ClassTypeInfo: baseInfo = new ClassTypeInfo(); break; case InfoType.ClassTypeList: baseInfo = new ClassTypeListInfo(); break; case InfoType.ClassPictureDetail: baseInfo = new ClassPictureDetailInfo(); break; case InfoType.RoomValue: baseInfo = new RoomPrice(); break; case InfoType.Payment: baseInfo = new PaymentInfo(); break; case InfoType.DWGameFile: baseInfo = new DWGameFileInfo(); break; case InfoType.UserState: baseInfo = new UserState(); break; case InfoType.Server: baseInfo = new ServerInfo(); break; case InfoType.AVMsg: baseInfo = new AVMsg(); break; } if (baseInfo != null) { baseInfo.FromBytes(br); } return(baseInfo); }