Exemple #1
0
 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);
     //}
 }
Exemple #2
0
        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();
        }
Exemple #3
0
        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;
            }
        }
Exemple #4
0
        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);
        }