//---------------------------------------------------------------------------------------------------- /// <summary> /// 수신 : 채널 : 리스트 /// </summary> /// <param name="result">수신 결과코드</param> /// <param name="bits">수신 데이터</param> //---------------------------------------------------------------------------------------------------- protected virtual void RecvChannelList( cNetwork.eResult result, cBitStream bits ) { if( result != cNetwork.eResult.SUCCESS ) return; RemoveAllChannel(); byte channel_count = cNetwork.ReadChannelCount( bits ); string print = "[" + channel_count + "]{"; for( int c=0; c<channel_count; ++c ) { byte channel_id = cNetwork.ReadChannelId( bits ); AddChannel( channel_id, new cChannel(channel_id) ); print += channel_id + ","; } print += "}"; Print( print ); }
protected override void RecvStageMonSkillPos( cNetwork.eResult result, cBitStream bits ) { base.RecvStageMonSkillPos( result, bits ); ++m_step; }
protected override void RecvStageUserSkillSelf( cNetwork.eResult result, cBitStream bits ) { base.RecvStageUserSkillSelf( result, bits ); ++m_step; }
//---------------------------------------------------------------------------------------------------- /// <summary> /// 수신 : 스테이지 : 유저 : 스킬 사용 : 좌표 /// </summary> /// <param name="result">수신 결과코드</param> /// <param name="bits">수신 데이터</param> //---------------------------------------------------------------------------------------------------- protected virtual void RecvStageUserSkillPos( cNetwork.eResult result, cBitStream bits ) { if( result != cNetwork.eResult.SUCCESS ) return; uint client_id = cNetwork.ReadClientId( bits ); ushort skill_id = cNetwork.ReadSkillId( bits ); cVector3 stage_pos = cNetwork.ReadStagePos( bits ); Print( client_id, skill_id, stage_pos ); }
protected override void RecvServerOut( cNetwork.eResult result, cBitStream bits ) { base.RecvServerOut( result, bits ); ++m_step; }
//---------------------------------------------------------------------------------------------------- /// <summary> /// 수신 : 스테이지 : 유저 : 입장 /// </summary> /// <param name="result">수신 결과코드</param> /// <param name="bits">수신 데이터</param> //---------------------------------------------------------------------------------------------------- protected virtual void RecvStageUserIn( cNetwork.eResult result, cBitStream bits ) { if( result != cNetwork.eResult.SUCCESS ) return; // 캐릭터 정보 받음 bool master = cNetwork.ReadFlag(bits); uint client_id = cNetwork.ReadClientId( bits ); string char_name = cNetwork.ReadString(bits); uint char_item_info_id = cNetwork.ReadItemInfoId(bits); uint[] equip_items = cNetwork.ReadItemInfoIds(bits,(int)cUserCharacter.eEquipSlot.MAX_EQUIPSLOT); cVector3 stage_pos = cNetwork.ReadStagePos( bits ); Print( client_id, master, char_name, stage_pos ); }
//---------------------------------------------------------------------------------------------------- /// <summary> /// 수신 : 스테이지 : 유저 : 퇴장 /// </summary> /// <param name="result">수신 결과코드</param> /// <param name="bits">수신 데이터</param> //---------------------------------------------------------------------------------------------------- protected virtual void RecvStageUserOut( cNetwork.eResult result, cBitStream bits ) { if( result != cNetwork.eResult.SUCCESS ) return; uint client_id = cNetwork.ReadClientId( bits ); uint master_id = cNetwork.ReadClientId( bits ); Print( client_id, master_id ); }
//---------------------------------------------------------------------------------------------------- /// <summary> /// 수신 : 서버 : 퇴장 /// </summary> /// <param name="result">수신 결과코드</param> /// <param name="bits">수신 데이터</param> //---------------------------------------------------------------------------------------------------- protected virtual void RecvServerOut( cNetwork.eResult result, cBitStream bits ) { if( result != cNetwork.eResult.SUCCESS ) return; Client.Disconnect(); Print(); }
//---------------------------------------------------------------------------------------------------- /// <summary> /// 수신 : 스테이지 : 커스텀 데이터 /// </summary> /// <param name="result">수신 결과코드</param> /// <param name="bits">수신 데이터</param> //---------------------------------------------------------------------------------------------------- protected virtual void RecvStageData( cNetwork.eResult result, cBitStream bits ) { if( result != cNetwork.eResult.SUCCESS ) return; Print(); }
//---------------------------------------------------------------------------------------------------- /// <summary> /// 수신 : 서버 : 입장 /// </summary> /// <param name="result">수신 결과코드</param> /// <param name="bits">수신 데이터</param> //---------------------------------------------------------------------------------------------------- protected virtual void RecvServerIn( cNetwork.eResult result, cBitStream bits ) { if( result != cNetwork.eResult.SUCCESS ) return; Client.ClientID = cNetwork.ReadClientId( bits ); Print( "ClientID:"+Client.ClientID ); }
//---------------------------------------------------------------------------------------------------- /// <summary> /// 수신 : 서버 : 로그인 /// </summary> /// <param name="result">수신 결과코드</param> /// <param name="bits">수신 데이터</param> //---------------------------------------------------------------------------------------------------- protected virtual void RecvServerLogin( cNetwork.eResult result, cBitStream bits ) { if( result == cNetwork.eResult.FAIL_SERVER_LOGIN_REFUSE ) { // 기존 접속 과 연결 시도.... } if( result != cNetwork.eResult.SUCCESS ) { Print( "FAILED : " + result ); return; } Client.AccountID = cNetwork.ReadAccountId( bits ); Print( Client.ClientID, Client.AccountID ); // 서버 입장 Client.SendServerIn( s_version ); }
//---------------------------------------------------------------------------------------------------- /// <summary> /// 수신 : 파티 : 채팅. /// </summary> /// <param name="result">수신 결과코드</param> /// <param name="bits">수신 데이터</param> //---------------------------------------------------------------------------------------------------- protected virtual void RecvPartyChat( cNetwork.eResult result, cBitStream bits ) { if( result != cNetwork.eResult.SUCCESS ) return; uint client_id = cNetwork.ReadClientId( bits ); string message = cNetwork.ReadString( bits ); Print( client_id, message ); }
//---------------------------------------------------------------------------------------------------- /// <summary> /// 수신 : 클라이언트 : 정보 : 기본 /// </summary> /// <param name="result">수신 결과코드</param> /// <param name="bits">수신 데이터</param> //---------------------------------------------------------------------------------------------------- protected virtual void RecvClientInfoDefault( cNetwork.eResult result, cBitStream bits ) { if( result != cNetwork.eResult.SUCCESS ) return; uint client_id = cNetwork.ReadClientId( bits ); string character_name = cNetwork.ReadString( bits ); byte channel_id = cNetwork.ReadChannelId( bits ); uint stage_id = cNetwork.ReadStageId( bits ); Print(); }
//---------------------------------------------------------------------------------------------------- /// <summary> /// 수신 : 채널 : 퇴장 /// </summary> /// <param name="result">수신 결과코드</param> /// <param name="bits">수신 데이터</param> //---------------------------------------------------------------------------------------------------- protected virtual void RecvChannelOut( cNetwork.eResult result, cBitStream bits ) { if( result != cNetwork.eResult.SUCCESS ) return; uint client_id = cNetwork.ReadClientId( bits ); Print( client_id ); }
//---------------------------------------------------------------------------------------------------- /// <summary> /// 수신 : 스테이지 : 유저 : 공격 : 몬스터 /// </summary> /// <param name="result">수신 결과코드</param> /// <param name="bits">수신 데이터</param> //---------------------------------------------------------------------------------------------------- protected virtual void RecvStageUserAttackMonster( cNetwork.eResult result, cBitStream bits ) { if( result != cNetwork.eResult.SUCCESS ) return; uint client_id = cNetwork.ReadClientId( bits ); ushort monster_id = cNetwork.ReadMonsterId( bits ); Print( client_id, monster_id ); }
//---------------------------------------------------------------------------------------------------- /// <summary> /// 수신 : 스테이지 : 입장 : 승락 /// </summary> /// <param name="result">수신 결과코드</param> /// <param name="bits">수신 데이터</param> //---------------------------------------------------------------------------------------------------- protected virtual void RecvStageInAccept( cNetwork.eResult result, cBitStream bits ) { if( result != cNetwork.eResult.SUCCESS ) return; Client.Stage = cNetwork.ReadStageId( bits ); Print( Client.Stage ); // 스테이지 입장 // 장착아이템 입력(임시) uint[] equip_items = new uint[(int)cUserCharacter.eEquipSlot.MAX_EQUIPSLOT]; for( int c=0; c<equip_items.Length; ++c ) { equip_items[c] = 0; } Client.SendStageUserIn( equip_items, new cVector3(0,0,0) ); }
//---------------------------------------------------------------------------------------------------- /// <summary> /// 수신 : 스테이지 : 유저 : 데미지 /// </summary> /// <param name="result">수신 결과코드</param> /// <param name="bits">수신 데이터</param> //---------------------------------------------------------------------------------------------------- protected virtual void RecvStageUserDemage( cNetwork.eResult result, cBitStream bits ) { if( result != cNetwork.eResult.SUCCESS ) return; uint client_id = cNetwork.ReadClientId( bits ); uint damage = cNetwork.ReadDamage( bits ); bool death = cNetwork.ReadFlag( bits ); Print( client_id, damage, death ); }
//---------------------------------------------------------------------------------------------------- /// <summary> /// 수신 : 스테이지 : 입장 : 요청 /// </summary> /// <param name="result">수신 결과코드</param> /// <param name="bits">수신 데이터</param> //---------------------------------------------------------------------------------------------------- protected virtual void RecvStageInRequest( cNetwork.eResult result, cBitStream bits ) { if( result != cNetwork.eResult.SUCCESS ) return; Client.Party = cNetwork.ReadPartyId( bits ); Print( Client.Party ); }
//---------------------------------------------------------------------------------------------------- /// <summary> /// 수신 : 스테이지 : 유저 : 아이템 사용 : 자신 /// </summary> /// <param name="result">수신 결과코드</param> /// <param name="bits">수신 데이터</param> //---------------------------------------------------------------------------------------------------- protected virtual void RecvStageUserItemUseSelf( cNetwork.eResult result, cBitStream bits ) { if( result != cNetwork.eResult.SUCCESS ) return; uint client_id = cNetwork.ReadClientId( bits ); ulong item_id = cNetwork.ReadItemId( bits ); Print( client_id, item_id ); }
//---------------------------------------------------------------------------------------------------- /// <summary> /// 수신 : 스테이지 : 리스트 /// </summary> /// <param name="result">수신 결과코드</param> /// <param name="bits">수신 데이터</param> //---------------------------------------------------------------------------------------------------- protected virtual void RecvStageList( cNetwork.eResult result, cBitStream bits ) { if( result != cNetwork.eResult.SUCCESS ) return; RemoveAllStagePartyCount(); ushort stage_count = cNetwork.ReadStageCount( bits ); string print = "Stages[" + stage_count + "]{"; for( int c=0; c<stage_count; ++c ) { uint stage_id = cNetwork.ReadStageId( bits ); ushort party_count = cNetwork.ReadPartyCount( bits ); SetStagePartyCount( stage_id, party_count ); print += stage_id + "=" + party_count + ","; } print += "}"; Print( print ); }
//---------------------------------------------------------------------------------------------------- /// <summary> /// 수신 : 스테이지 : 유저 : 스킬 사용 : 몬스터 /// </summary> /// <param name="result">수신 결과코드</param> /// <param name="bits">수신 데이터</param> //---------------------------------------------------------------------------------------------------- protected virtual void RecvStageUserSkillMonster( cNetwork.eResult result, cBitStream bits ) { if( result != cNetwork.eResult.SUCCESS ) return; uint client_id = cNetwork.ReadClientId( bits ); ushort skill_id = cNetwork.ReadSkillId( bits ); byte target_count = cNetwork.ReadSkillTargetCount( bits ); ushort[] monster_ids = new ushort[target_count]; string print = ""; print += "client_id="+client_id; print += ",skill_id="+skill_id; print += ",monster_ids{"; for( byte c=0; c<target_count; ++c ) { monster_ids[c] = cNetwork.ReadMonsterId( bits ); print += monster_ids[c]+","; } print += "}"; Print( print ); }
//---------------------------------------------------------------------------------------------------- /// <summary> /// 수신 : 스테이지 : 몬스터 : 데미지 : (파티장 권한 필요) /// </summary> /// <param name="result">수신 결과코드</param> /// <param name="bits">수신 데이터</param> //---------------------------------------------------------------------------------------------------- protected virtual void RecvStageMonDemage( cNetwork.eResult result, cBitStream bits ) { if( result != cNetwork.eResult.SUCCESS ) return; ushort monster_id = cNetwork.ReadMonsterId( bits ); uint damage = cNetwork.ReadDamage( bits ); bool death = cNetwork.ReadFlag( bits ); Print( monster_id, damage, death ); }
protected override void RecvPartyChat( cNetwork.eResult result, cBitStream bits ) { base.RecvChannelChat( result, bits ); ++m_step; }
//---------------------------------------------------------------------------------------------------- /// <summary> /// 수신 : 스테이지 : 몬스터 : 이동 : (파티장 권한 필요) /// </summary> /// <param name="result">수신 결과코드</param> /// <param name="bits">수신 데이터</param> //---------------------------------------------------------------------------------------------------- protected virtual void RecvStageMonMove( cNetwork.eResult result, cBitStream bits ) { if( result != cNetwork.eResult.SUCCESS ) return; ushort monster_id = cNetwork.ReadMonsterId( bits ); cVector3 stage_pos = cNetwork.ReadStagePos( bits ); Print( monster_id, stage_pos ); }
//---------------------------------------------------------------------------------------------------- /// <summary> /// 수신 : 스테이지 : 커스텀 데이터 /// </summary> /// <param name="result">수신 결과코드</param> /// <param name="bits">수신 데이터</param> //---------------------------------------------------------------------------------------------------- protected override void RecvStageData( cNetwork.eResult result, cBitStream in_bits ) { if( result != cNetwork.eResult.SUCCESS ) return; }
//---------------------------------------------------------------------------------------------------- /// <summary> /// 수신 : 스테이지 : 몬스터 : 스킬 사용 : 자신 : (파티장 권한 필요) /// </summary> /// <param name="result">수신 결과코드</param> /// <param name="bits">수신 데이터</param> //---------------------------------------------------------------------------------------------------- protected virtual void RecvStageMonSkillSelf( cNetwork.eResult result, cBitStream bits ) { if( result != cNetwork.eResult.SUCCESS ) return; ushort monster_id = cNetwork.ReadMonsterId( bits ); ushort skill_id = cNetwork.ReadSkillId( bits ); Print( monster_id, skill_id ); }
protected override void RecvStageUserAttackMonster( cNetwork.eResult result, cBitStream bits ) { base.RecvStageUserAttackMonster( result, bits ); ++m_step; }
//---------------------------------------------------------------------------------------------------- /// <summary> /// 수신 : 스테이지 : 몬스터 : 스킬 사용 : 유저 : (파티장 권한 필요) /// </summary> /// <param name="result">수신 결과코드</param> /// <param name="bits">수신 데이터</param> //---------------------------------------------------------------------------------------------------- protected virtual void RecvStageMonSkillUser( cNetwork.eResult result, cBitStream bits ) { if( result != cNetwork.eResult.SUCCESS ) return; ushort monster_id = cNetwork.ReadMonsterId( bits ); ushort skill_id = cNetwork.ReadSkillId( bits ); byte target_count = cNetwork.ReadSkillTargetCount( bits ); uint[] client_ids = new uint[target_count]; string print = ""; print += "client_id="+monster_id; print += ",skill_id="+skill_id; print += ",client_ids{"; for( byte c=0; c<target_count; ++c ) { client_ids[c] = cNetwork.ReadClientId( bits ); } Print( monster_id, skill_id ); }
protected override void RecvStageUserTriggerOn( cNetwork.eResult result, cBitStream bits ) { base.RecvStageUserTriggerOn( result, bits ); ++m_step; }
//---------------------------------------------------------------------------------------------------- /// <summary> /// 수신 : 채널 : 입장 /// </summary> /// <param name="result">수신 결과코드</param> /// <param name="bits">수신 데이터</param> //---------------------------------------------------------------------------------------------------- protected virtual void RecvChannelIn( cNetwork.eResult result, cBitStream bits ) { if( result != cNetwork.eResult.SUCCESS ) return; byte channel_id = cNetwork.ReadChannelId( bits ); ushort user_count = cNetwork.ReadChannelUserCount( bits ); uint client_id = cNetwork.ReadClientId( bits ); string char_name = cNetwork.ReadString( bits ); uint stage_id = cNetwork.ReadStageId( bits ); Print( "channel_id="+channel_id, "user_count="+user_count, "client_id="+client_id, "char_name="+char_name, "stage_id="+stage_id ); }