protected override void OnMessage(MessageEventArgs e) { if (e.Type == Opcode.Binary) { IEwkProtocol ewk = EwkProtoSerilazer.DeserializeForProtobuf(e.RawData); if (ewk.Protocol_Enum == ProtocolEnum.Req_Change_Scene) { SendToSelf(EwkProtoFactory.CreateIEwkProtocol <SceneListEnum>(ProtocolEnum.Res_Change_Scene, ewk.GetData <SceneListEnum>()).GetBytes); } } //else //{ // log_.Debug("e.Data = {0}", e.Data); //} }
public void StartGameLogic() { ICollection <int> keys = game_user_dic_.Keys; foreach (int key in keys) { GameUserInfo game_user_info = game_user_dic_[key]; string game_session_id = game_session_id_dic_[key]; Send_Data_To_OneId_( game_session_id, EwkProtoFactory.CreateIEwkProtocol(game_user_info.Avartar_Direction == 0 ? ProtocolEnum.Avatar_Direction_Left : ProtocolEnum.Avatar_Direction_Right).GetBytes ); } timer.Start(); }
void WaitEvent(object sender, ElapsedEventArgs e) { event_seconds_ -= Event_Interval; if (event_seconds_ <= 0) { event_seconds_ = GetEventCount(5); Broadcast_Data_(EwkProtoFactory.CreateIEwkProtocol(ProtocolEnum.Res_Game_Change_Game_Mode).GetBytes); // TODO : 여기 이상하게 짰음. 나중에 고칠것. // 1차 수정완료. [Terdong : 2014-10-02] // 게임 시작 전 아바타 정보(전적 등) 보냄. int[][] avatar_info_array = new int[2][]; int temp_count = 0; ICollection <int> keys = game_user_dic_.Keys; foreach (int key in keys) { GameUserInfo game_user_info = game_user_dic_[key]; string game_session_id = game_session_id_dic_[key]; avatar_info_array[temp_count] = new int[3]; avatar_info_array[temp_count][0] = game_user_info.Num_Of_Win; avatar_info_array[temp_count][1] = game_user_info.Num_Of_Lose; avatar_info_array[temp_count][2] = game_user_info.Num_Of_Draw; ++temp_count; } AvatarInfo avatar_info = AvatarInfo.CreateAvatarInfo(avatar_info_array[0], avatar_info_array[1]); Broadcast_Data_( EwkProtoFactory.CreateIEwkProtocol <AvatarInfo>( ProtocolEnum.AvatarInfo, avatar_info ).GetBytes ); SetQuizQuestion(); timer.Elapsed -= WaitEvent; timer.Elapsed += QuizEvent; is_quizevent_ = true; } }
private void BroadcastGameUserInfo(ICollection <GameUserInfo> game_info_list) { GameUserInfo[] game_info_array = game_info_list.ToArray(); int[] left_info; int[] right_info; if (game_info_array[0].Avartar_Direction == 0) { left_info = new int[] { game_info_array[0].Hp_, game_info_array[0].Score_ }; right_info = new int[] { game_info_array[1].Hp_, game_info_array[1].Score_ }; } else { left_info = new int[] { game_info_array[1].Hp_, game_info_array[1].Score_ }; right_info = new int[] { game_info_array[0].Hp_, game_info_array[0].Score_ }; } FightInfo fight_info = FightInfo.CreateFightInfo(left_info, right_info); Broadcast_Data_(EwkProtoFactory.CreateIEwkProtocol <FightInfo>(ProtocolEnum.FightInfo, fight_info).GetBytes); }