#include "../../mainproc/GameMain.h"
#include "NetCli_GuildChild.h"
#include "../interface/debug/DebugMessage.h"

//-----------------------------------------------------------------------------
bool NetCli_GuildChild::_Init()
{
	if (This)
		return false;

	This = new NetCli_GuildChild;

	return NetCli_Guild::_Init();
}

//-----------------------------------------------------------------------------
bool NetCli_GuildChild::_Release()
{
	NetCli_Guild::_Release();
	if (This)
	{
		delete This;
		This = NULL;
	}
	return true;

}

//-----------------------------------------------------------------------------
void NetCli_GuildChild::RL_CreateGuildResult		( char* GuildName , CreateGuildResultENUM Result )
{
	switch( Result )
	{
	case EM_CreateGuildResult_OK:			//成功
		g_pDebugMessage->DebugOutput( 2 , "建立連署公會 %s 成功" , GuildName );
		break;
	case EM_CreateGuildResult_Failed_Exist:	//已有公會
		g_pDebugMessage->DebugOutput( 2 , "建立連署公會 %s 失敗(已有公會) " , GuildName );
		break;
	case EM_CreateGuildResult_Failed_Name:	//公會名稱重復
		g_pDebugMessage->DebugOutput( 2 , "建立連署公會 %s 失敗(公會名稱重復)" , GuildName );
		break;
	}
	
}
void NetCli_GuildChild::RL_NewGuildInvite			( int GuildID , char* LeaderName , int LeaderDBID )
{
	g_pDebugMessage->DebugOutput( 2 , "邀請加入連署公會(%d) 要請人(%s) DBID(%d)" , GuildID , LeaderName , LeaderDBID);

}
void NetCli_GuildChild::RL_NewGuildInviteResult	( char* PlayerName , NewGuildInviteResultENUM	Result )
{
	switch( Result )
	{
	case EM_NewGuildInviteResult_OK			:	//要請成功
		g_pDebugMessage->DebugOutput( 2 , "%s 加入連署" , PlayerName );
		break;
	case EM_NewGuildInviteResult_NotFind	:	//找不到 想邀請者
		g_pDebugMessage->DebugOutput( 2 , "%s 加入連署失敗 (找不到 想邀請者)" , PlayerName );
		break;
	case EM_NewGuildInviteResult_HasGuild	:	//想邀請者 已經有公會
		g_pDebugMessage->DebugOutput( 2 , "%s 加入連署失敗 (想邀請者 已經有公會)" , PlayerName );
		break;
	case EM_NewGuildInviteResult_Disagree	:	//想邀請者 不同意
		g_pDebugMessage->DebugOutput( 2 , "%s 加入連署失敗 (想邀請者 不同意)" , PlayerName );
		break;
	}

}

void NetCli_GuildChild::RL_JoindNewGuild			( int GuildID , char* LeaderName )
{
	g_pDebugMessage->DebugOutput( 2 , "加入連署 GuildID=%d LeaderName=%s" , GuildID , LeaderName );
}

void NetCli_GuildChild::RL_LeaveNewGuildResult		( char* KickPlayerName , bool Result )
{
	if( Result )
	{
		g_pDebugMessage->DebugOutput( 2 , "要求 %s 離開連署公會 成功" , KickPlayerName );
	}
	else
	{
		g_pDebugMessage->DebugOutput( 2 ,"要求 %s 離開連署公會 失敗" , KickPlayerName );
	}

}
void NetCli_GuildChild::RL_DelNewGuildResult		( bool Result )
{
	if( Result )
	{
		g_pDebugMessage->DebugOutput( 2 , "刪除連署公會 成功" );
	}
	else
	{
		g_pDebugMessage->DebugOutput( 2 , "刪除連署公會 失敗" );
	}
}

//////////////////////////////////////////////////////////////////////////
void NetCli_GuildChild::RL_GuildInvite		( int GuildID , char* LeaderName , int LeaderDBID )
{
	g_pDebugMessage->DebugOutput( 2 , "邀請加入公會(%d) 要請人(%s) DBID(%d)" , GuildID , LeaderName , LeaderDBID);
}
void NetCli_GuildChild::RL_GuildInviteResult( char* PlayerName , GuildInviteResultENUM	Result )
{
	switch( Result )
	{
	case EM_GuildInviteResult_OK			:	//要請成功
		g_pDebugMessage->DebugOutput( 2 , "%s 加入公會" , PlayerName );
		break;
	case EM_GuildInviteResult_NotFind	:	//找不到 想邀請者
		g_pDebugMessage->DebugOutput( 2 , "%s 加入公會失敗 (找不到 想邀請者)" , PlayerName );
		break;
	case EM_GuildInviteResult_HasGuild	:	//想邀請者 已經有公會
		g_pDebugMessage->DebugOutput( 2 , "%s 加入公會失敗 (想邀請者 已經有公會)" , PlayerName );
		break;
	case EM_GuildInviteResult_Disagree	:	//想邀請者 不同意
		g_pDebugMessage->DebugOutput( 2 , "%s 加入公會失敗 (想邀請者 不同意)" , PlayerName );
		break;
	}
}
void NetCli_GuildChild::RL_JoindGuild		( int GuildID , char* LeaderName )
{
	g_pDebugMessage->DebugOutput( 2 , "加入公會 GuildID=%d LeaderName=%s" , GuildID , LeaderName );
}
void NetCli_GuildChild::RL_LeaveGuildResult	( char* KickPlayerName , bool Result )
{
	if( Result )
	{
		g_pDebugMessage->DebugOutput( 2 , "要求 %s 離開公會 成功" , KickPlayerName );
	}
	else
	{
		g_pDebugMessage->DebugOutput( 2 ,"要求 %s 離開公會 失敗" , KickPlayerName );
	}
}
void NetCli_GuildChild::RL_DelGuildResult	( bool Result )
{
	if( Result )
	{
		g_pDebugMessage->DebugOutput( 2 , "刪除公會 成功" );
	}
	else
	{
		g_pDebugMessage->DebugOutput( 2 , "刪除公會 失敗" );
	}
}
//////////////////////////////////////////////////////////////////////////
void NetCli_GuildChild::RL_GuildInfo			( GuildBaseStruct& Guild )
{
	g_pDebugMessage->DebugOutput( 2 , "收到公會(%s %d)資料 " , Guild.GuildName.Begin() , Guild.GuildID );
}
void NetCli_GuildChild::RL_GuildMemberBaseInfo	( vector< GuildMemberBaseInfoStruct >& MemberList )
{
	g_pDebugMessage->DebugOutput( 2 , "收到公會成員列表" );
	
}
void NetCli_GuildChild::RL_GuildMemberInfo		( GuildMemberStruct& Member )
{
	g_pDebugMessage->DebugOutput( 2 , "收到公會成員 (%s) 資料 " , Member.MemberName.Begin() );
}
void NetCli_GuildChild::RD_GuildCreate			( )
{
	g_pDebugMessage->DebugOutput( 2 , "成為正式公會"  );
}
//////////////////////////////////////////////////////////////////////////
void NetCli_GuildChild::RD_BoardPostResult			( bool Result )
{
	if( Result )
		g_pDebugMessage->DebugOutput( 2 , "Post文章成功"  );
	else
		g_pDebugMessage->DebugOutput( 2 , "Post文章失敗"  );
}
void NetCli_GuildChild::RD_BoardListCount			( int MaxCount , int Count , int PageID )
{
	g_pDebugMessage->DebugOutput( 2 , "BoardList MaxCount=%d Count=%d PageID=%d" , MaxCount , Count , PageID  );
}
void NetCli_GuildChild::RD_BoardListData			( int MessageGUID , int Index , char* PlayerName , int Time , char* Title , GuildBoardModeStruct Type )
{
	g_pDebugMessage->DebugOutput( 2 , "BoardData Index=%d Title=%s" , Index , Title );
}
void NetCli_GuildChild::RD_BoardMessageResult		( GuildBoardStruct&	Message )
{
	g_pDebugMessage->DebugOutput( 2 , "BoardMessage Title=%s" , Message.Title.Begin() );
}
void NetCli_GuildChild::RD_BoardModifyMessageResult( bool Result )
{
	if( Result )
		g_pDebugMessage->DebugOutput( 2 , "修改文章成功"  );
	else
		g_pDebugMessage->DebugOutput( 2 , "修改文章失敗"  );

}
void NetCli_GuildChild::RD_BoardModifyModeResult	( bool Result )
{
	if( Result )
		g_pDebugMessage->DebugOutput( 2 , "修改文章屬性成功"  );
	else
		g_pDebugMessage->DebugOutput( 2 , "修改文章屬性失敗"  );
}