#pragma once

#include "NetCli_FriendList.h"


/*
struct FriendList {
	string		group;
	string		note;
	int			zoneId;
	LookStruct	semblance;
	Voc_ENUM	voc;
	Voc_ENUM	vocSub;
	Sex_ENUM	sex;
};
*/
struct FriendInfo
{
	FriendInfo() { bOnline = false; }
	
	bool		bOnline;
	int			ZoneID;
	LookStruct	Look;
	Voc_ENUM	Voc;
	int			VocLV;
	Voc_ENUM	Voc_Sub;
	int			Voc_SubLV;
	Sex_ENUM	Sex;
	string		Introduection;
};

class NetCli_FriendListChild : public NetCli_FriendList
{
public:	
	static	bool _Init();
	static	bool _Release();

public:
	NetCli_FriendListChild();

	virtual void RChat_BefriendRequest	( char* FriendName );
	virtual void RL_AddFriend			( char* FriendName );
	virtual void RL_DelFriend			( char* FriendName );
	virtual void RL_FriendList			( FriendListStruct& FriendList );

	virtual void RChat_PlayerOnline		( char* RoleName , char* Note , int ZoneID , LookStruct& Look , Voc_ENUM Voc , Voc_ENUM Voc_Sub , int LV , int LV_Sub , Sex_ENUM Sex );
	virtual void RChat_PlayerOffline	( char* RoleName );
	virtual void RChat_ModifyInfo		( char* RoleName , char* Note , int ZoneID , Voc_ENUM Voc , Voc_ENUM Voc_Sub , int LV , int LV_Sub , Sex_ENUM Sex );

	virtual void OnServerDisConnect		( int ServerID );

	///////////////////////////////////////////////////////////////////////////////

	static int		GetFriendID			( char* RoleName );
	static void		ResetInfo			();

	static map< string, int >			m_mapFolderID;
	static map< string, FriendInfo >	m_mapFriendInfo;
	
};

