private void PartyUserDel( byte[] _packet)
	{

		AS_SC_PARTY_USER_DEL userDel = new AS_SC_PARTY_USER_DEL();
		userDel.PacketBytesToClass( _packet);
		AsPartyManager.Instance.PartyUserDel(userDel);
		#if _PARTY_LOG_
		Debug.Log( "PartyUserDel" + userDel.nCharUniqKey.ToString() );
		#endif
	}
Exemple #2
0
	public void PartyUserDel( AS_SC_PARTY_USER_DEL data)
	{
		if( null == data)
			return;

		AS_PARTY_USER user = GetPartyMember( data.nCharUniqKey);
		if( null == user)
		{
			Debug.LogError( "PartyUserDel() user not found!!!");
			return;
		}

		AsUserEntity userEntity = AsUserInfo.Instance.GetCurrentUserEntity();
		if( null == userEntity)
		{
			if( MyUniqueId == data.nCharUniqKey)
				PartyUserRemoveAll();
			else
				PartyUserRealDel( data.nCharUniqKey);

			return;
		}

		if( data.bBanned)//강제 추방 여부
		{
			if( data.nCharUniqKey == userEntity.UniqueId)
				PartyUserRemoveAll();
			else
				PartyUserRealDel( data.nCharUniqKey);

			StringBuilder sb = new StringBuilder();
			sb.AppendFormat( AsTableManager.Instance.GetTbl_String(49), user.strCharName);
			AsEventNotifyMgr.Instance.CenterNotify.AddGuildNotice( sb.ToString());
			AsChatManager.Instance.InsertChat( sb.ToString(), eCHATTYPE.eCHATTYPE_SYSTEM);
//			string strMsg = string.Format( AsTableManager.Instance.GetTbl_String(49), user.strCharName);
//			AsChatManager.Instance.InsertChat( strMsg, eCHATTYPE.eCHATTYPE_SYSTEM);

			return;
		}

		if( data.bDisconnect)//비정상적인 종료( true : 비정상 종료, false : 일반 종료)
		{
			//UI작업
			AsPartyMemberDlg memberDlg	= m_PartyUI.PartyMemberUI.GetPartyMemberDlgByUniqueId( data.nCharUniqKey);
			if( null != memberDlg)
			{
				memberDlg.SetOffLine( true, memberDlg.goChild.active);
				memberDlg.PartyBuffClear();

				AS_PARTY_USER member = GetPartyMember( data.nCharUniqKey);
				if( null == member)
				{
					Debug.LogError( "PartyMember not found!!!");
				}
				else
				{
					member.nSessionIdx = 0;
					member.m_BuffDataList = null;
				}
			}
			else
			{
				AS_PARTY_USER member = GetPartyMember( data.nCharUniqKey);
				member.nSessionIdx = 0;
				member.m_BuffDataList = null;
			}
		}
		else
		{
			string strMsg = string.Format( AsTableManager.Instance.GetTbl_String(50), user.strCharName);
			AsChatManager.Instance.InsertChat( strMsg, eCHATTYPE.eCHATTYPE_SYSTEM);
			PartyUserRealDel( data.nCharUniqKey);

			m_TempPartyMembers.Remove( data.nCharUniqKey);
		}

		SetPartyEditSolt();
	}