#pragma once
#include "..\..\RoleData\RoleDataEx.h"
#include "..\NetWakerPGEnum.h"
//////////////////////////////////////////////////////////////////////////
//		建立連署公會
//////////////////////////////////////////////////////////////////////////
//要求建立公會
//Client -> Local
struct PG_Guild_CtoL_CreateGuild
{
	GamePGCommandEnum	Command;

	StaticString <_MAX_NAMESTRING_LEN_>	GuildName;	//公會名稱

	PG_Guild_CtoL_CreateGuild( )
	{	Command = EM_PG_Guild_CtoL_CreateGuild;	}

};
//////////////////////////////////////////////////////////////////////////
//要求建立公會
//Local -> DataCenter
struct PG_Guild_LtoD_CreateGuild
{
	GamePGCommandEnum	Command;
	
	int					PlayerDBID;	//要求者DBID
	StaticString <_MAX_NAMESTRING_LEN_>	GuildName;	//公會名稱

	PG_Guild_LtoD_CreateGuild( )
	{	Command = EM_PG_Guild_LtoD_CreateGuild;	}

};
//////////////////////////////////////////////////////////////////////////
enum CreateGuildResultENUM
{
	EM_CreateGuildResult_OK				,	//成功
	EM_CreateGuildResult_Failed_Exist	,	//已有公會
	EM_CreateGuildResult_Failed_Name	,	//公會名稱重復
};

//回應建立結果
//Local -> DataCenter
struct PG_Guild_DtoL_CreateGuildResult
{
	GamePGCommandEnum	Command;

	int						PlayerDBID;	//要求者DBID
	int						GuildID;	//公會ID
	StaticString <_MAX_NAMESTRING_LEN_>		GuildName;	//公會名稱
	CreateGuildResultENUM	Result;

	PG_Guild_DtoL_CreateGuildResult( )
	{	Command = EM_PG_Guild_DtoL_CreateGuildResult;	}

};
//////////////////////////////////////////////////////////////////////////
//回應建立結果
//Local -> Client
struct PG_Guild_LtoC_CreateGuildResult
{
	GamePGCommandEnum	Command;

	StaticString <_MAX_NAMESTRING_LEN_>		GuildName;	//公會名稱
	CreateGuildResultENUM	Result;

	PG_Guild_LtoC_CreateGuildResult( )
	{	Command = EM_PG_Guild_LtoC_CreateGuildResult;	}

};
//////////////////////////////////////////////////////////////////////////
//		邀請連署成員
//////////////////////////////////////////////////////////////////////////
//邀請連署成員
//Client -> Local
struct PG_Guild_CtoL_NewGuildInvite
{
	GamePGCommandEnum	Command;

	StaticString <_MAX_NAMESTRING_LEN_>		PlayerName;		//被邀請人名


	PG_Guild_CtoL_NewGuildInvite( )
	{	Command = EM_PG_Guild_CtoL_NewGuildInvite;	}
};
//////////////////////////////////////////////////////////////////////////
//通知被要請(連署成員)
//Local -> Client
struct PG_Guild_LtoC_NewGuildInvite
{
	GamePGCommandEnum	Command;

	StaticString <_MAX_NAMESTRING_LEN_>	LeaderName;			//邀請者人名
	int					LeaderDBID;
	int					GuildID;			//公會ID

	PG_Guild_LtoC_NewGuildInvite( )
	{	Command = EM_PG_Guild_LtoC_NewGuildInvite;	}
};
//////////////////////////////////////////////////////////////////////////
//回應邀請
//Client -> Local
struct PG_Guild_CtoL_NewGuildInviteResult
{
	GamePGCommandEnum	Command;

	int					LeaderDBID;
	int					GuildID;			//公會ID
	bool				Result;

	PG_Guild_CtoL_NewGuildInviteResult( )
	{	Command = EM_PG_Guild_CtoL_NewGuildInviteResult;	}
};
//////////////////////////////////////////////////////////////////////////
enum	NewGuildInviteResultENUM
{
	EM_NewGuildInviteResult_OK			,	//要請成功
	EM_NewGuildInviteResult_Failed		,	//要請失敗
	EM_NewGuildInviteResult_NotFind		,	//找不到 想邀請者
	EM_NewGuildInviteResult_HasGuild	,	//想邀請者 已經有公會
	EM_NewGuildInviteResult_Disagree	,	//想邀請者 不同意

};
//如果不同意邀請通知
//Local -> Client
struct PG_Guild_LtoC_NewGuildInviteResult
{
	GamePGCommandEnum	Command;

	StaticString <_MAX_NAMESTRING_LEN_>			PlayerName;			//被邀請者人名
	NewGuildInviteResultENUM	Result;				//結果

	PG_Guild_LtoC_NewGuildInviteResult( )
	{	Command = EM_PG_Guild_LtoC_NewGuildInviteResult;	}
};

//////////////////////////////////////////////////////////////////////////
//通知加入新成員
//Local -> DataCenter
struct PG_Guild_LtoD_AddNewGuildMember
{
	GamePGCommandEnum	Command;

	int					LeaderDBID;
	StaticString <_MAX_NAMESTRING_LEN_>	LeaderName;			//邀請人名
	int					GuildID;			//公會ID
	int					NewMemberDBID;
	StaticString <_MAX_NAMESTRING_LEN_>	NewMember;			//新加入者人名


	PG_Guild_LtoD_AddNewGuildMember( )
	{	Command = EM_PG_Guild_LtoD_AddNewGuildMember;	}
};
//////////////////////////////////////////////////////////////////////////
//回應加入結果
//DataCenter -> Local
struct PG_Guild_DtoL_AddNewGuildMemberResult
{
	GamePGCommandEnum	Command;

	int					LeaderDBID;
	StaticString <_MAX_NAMESTRING_LEN_>	LeaderName;			//邀請人名
	int					GuildID;			//公會ID
	StaticString <_MAX_NAMESTRING_LEN_>	NewMember;			//新加入者人名
	bool				Result;

	PG_Guild_DtoL_AddNewGuildMemberResult( )
	{	Command = EM_PG_Guild_DtoL_AddNewGuildMemberResult;	}
};
//////////////////////////////////////////////////////////////////////////
//通知新加入連署者  加入成功
//Local -> Client
struct PG_Guild_LtoC_JoindNewGuild
{
	GamePGCommandEnum	Command;

	StaticString <_MAX_NAMESTRING_LEN_>	LeaderName;			//邀請人名
	int					GuildID;			//公會ID

	PG_Guild_LtoC_JoindNewGuild( )
	{	Command = EM_PG_Guild_LtoC_JoindNewGuild;	}
};
//////////////////////////////////////////////////////////////////////////
//要求離開連署公會
//Client -> Local
struct PG_Guild_CtoL_LeaveNewGuild
{
	GamePGCommandEnum	Command;
	StaticString <_MAX_NAMESTRING_LEN_>	PlayerName;		

	PG_Guild_CtoL_LeaveNewGuild( )
	{	Command = EM_PG_Guild_CtoL_LeaveNewGuild;	}
};
//////////////////////////////////////////////////////////////////////////
//要求離開連署公會
//Local -> DataCenter
struct PG_Guild_LtoD_LeaveNewGuild
{
	GamePGCommandEnum	Command;
	int					LeaderDBID;
	StaticString <_MAX_NAMESTRING_LEN_>	PlayerName;		


	PG_Guild_LtoD_LeaveNewGuild( )
	{	Command = EM_PG_Guild_LtoD_LeaveNewGuild;	}
};
//////////////////////////////////////////////////////////////////////////
//回應離開連署公會結果
//DataCenter -> Local 
struct PG_Guild_DtoL_LeaveNewGuildResult
{
	GamePGCommandEnum	Command;
	int					LeaderDBID;
	StaticString <_MAX_NAMESTRING_LEN_>	PlayerName;		

	bool				Result;

	PG_Guild_DtoL_LeaveNewGuildResult( )
	{	Command = EM_PG_Guild_DtoL_LeaveNewGuildResult;	}
};
//////////////////////////////////////////////////////////////////////////
//回應離開連署公會結果
//Local -> Client
struct PG_Guild_LtoC_LeaveNewGuildResult
{
	GamePGCommandEnum	Command;
	StaticString <_MAX_NAMESTRING_LEN_>	KickPlayerName;		
	bool				Result;

	PG_Guild_LtoC_LeaveNewGuildResult( )
	{	Command = EM_PG_Guild_LtoC_LeaveNewGuildResult;	}
};
//////////////////////////////////////////////////////////////////////////
//要求解散連署公會
//Client -> Local
struct PG_Guild_CtoL_DelNewGuild
{
	GamePGCommandEnum	Command;

	PG_Guild_CtoL_DelNewGuild( )
	{	Command = EM_PG_Guild_CtoL_DelNewGuild;	}
};
//////////////////////////////////////////////////////////////////////////
//要求解散連署公會
//Local -> DataCenter
struct PG_Guild_LtoD_DelNewGuild
{
	GamePGCommandEnum	Command;
	int					LeaderDBID;

	PG_Guild_LtoD_DelNewGuild( )
	{	Command = EM_PG_Guild_LtoD_DelNewGuild;	}
};
//////////////////////////////////////////////////////////////////////////
//回應解散連署結果
//DataCenter -> Local 
struct PG_Guild_DtoL_DelNewGuildResult
{
	GamePGCommandEnum	Command;
	int					LeaderDBID;
	bool				Result;

	PG_Guild_DtoL_DelNewGuildResult( )
	{	Command = EM_PG_Guild_DtoL_DelNewGuildResult;	}
};
//////////////////////////////////////////////////////////////////////////
//回應解散連署結果
//Local -> Client
struct PG_Guild_LtoC_DelNewGuildResult
{
	GamePGCommandEnum	Command;
	bool				Result;

	PG_Guild_LtoC_DelNewGuildResult( )
	{	Command = EM_PG_Guild_LtoC_DelNewGuildResult;	}
};


//////////////////////////////////////////////////////////////////////////
//	公會資料 通知 Local建立
//////////////////////////////////////////////////////////////////////////
//增加公會
// DataCenter -> Local
struct PG_Guild_DtoL_AddGuild
{
	GamePGCommandEnum	Command;

	GuildBaseStruct	Guild;

	PG_Guild_DtoL_AddGuild( )
	{	Command = EM_PG_Guild_DtoL_AddGuild;	}
};
//////////////////////////////////////////////////////////////////////////
// 移除公會
// DataCenter -> Local
struct PG_Guild_DtoL_DelGuild
{
	GamePGCommandEnum	Command;

	int		GuildID;

	PG_Guild_DtoL_DelGuild( )
	{	Command = EM_PG_Guild_DtoL_DelGuild;	}
};
//////////////////////////////////////////////////////////////////////////
//增加公會成原
// DataCenter -> Local
struct PG_Guild_DtoL_AddGuildMember	
{
	GamePGCommandEnum	Command;

	GuildMemberStruct	Member;

	PG_Guild_DtoL_AddGuildMember( )
	{	Command = EM_PG_Guild_DtoL_AddGuildMember;	}
};
//////////////////////////////////////////////////////////////////////////
// 移除公會成員
// DataCenter -> Local
struct PG_Guild_DtoL_DelGuildMember
{
	GamePGCommandEnum	Command;

	int					GuildID;
	StaticString <_MAX_NAMESTRING_LEN_>	MemberName;			//移除者名稱

	PG_Guild_DtoL_DelGuildMember( )
	{	Command = EM_PG_Guild_DtoL_DelGuildMember;	}
};
//////////////////////////////////////////////////////////////////////////
//修改公會資料
struct PG_Guild_DtoL_ModifyGuild
{
	GamePGCommandEnum	Command;

	GuildBaseStruct	Guild;

	PG_Guild_DtoL_ModifyGuild( )
	{	Command = EM_PG_Guild_DtoL_ModifyGuild;	}
};
//////////////////////////////////////////////////////////////////////////
//修改公會成員資料
struct PG_Guild_DtoL_ModifyGuildMember
{
	GamePGCommandEnum	Command;

	GuildMemberStruct	Member;

	PG_Guild_DtoL_ModifyGuildMember( )
	{	Command = EM_PG_Guild_DtoL_ModifyGuildMember;	}
};

//////////////////////////////////////////////////////////////////////////
//連署通過
//////////////////////////////////////////////////////////////////////////
//通知所有公會成員連暑成立
//DataCenter -> Client
struct PG_Guild_DtoC_GuildCreate
{
	GamePGCommandEnum	Command;
	PG_Guild_DtoC_GuildCreate( )
	{	Command = EM_PG_Guild_DtoC_GuildCreate;	}
};
//////////////////////////////////////////////////////////////////////////
//要求公會基本資料
//Client -> Local
struct PG_Guild_CtoL_GuildInfoRequet
{
	GamePGCommandEnum	Command;
	int					GuildID;
	PG_Guild_CtoL_GuildInfoRequet( )
	{	Command = EM_PG_Guild_CtoL_GuildInfoRequet;	}
};
//////////////////////////////////////////////////////////////////////////
//通知公會基本資料
//Local -> Client
struct PG_Guild_LtoC_GuildInfo
{
	GamePGCommandEnum	Command;

	GuildBaseStruct		Guild;

	PG_Guild_LtoC_GuildInfo( )
	{	Command = EM_PG_Guild_LtoC_GuildInfo;	}
};
//////////////////////////////////////////////////////////////////////////
//要求公會成員列表資料
//Client -> Local
struct PG_Guild_CtoL_GuildMemberListRequet
{
	GamePGCommandEnum	Command;
	int					GuildID;
	PG_Guild_CtoL_GuildMemberListRequet( )
	{	Command = EM_PG_Guild_CtoL_GuildMemberListRequet;	}
};
//////////////////////////////////////////////////////////////////////////
//通知公會成員列表資料
//Local -> Client
struct PG_Guild_LtoC_GuildMemberListCount
{
	GamePGCommandEnum	Command;
	int		MemberCount;

	PG_Guild_LtoC_GuildMemberListCount( )
	{	Command = EM_PG_Guild_LtoC_GuildMemberListCount;	}
};

struct GuildMemberBaseInfoStruct
{
	StaticString< _MAX_NAMERECORD_SIZE_ >   MemberName;
	int						MemberDBID;
	GuildRankENUM			Rank;				//角色公會等級
	Voc_ENUM				Voc;
	Voc_ENUM				Voc_Sub;
	Sex_ENUM				Sex;
	int						LV;
	int						LV_Sub;
	bool					IsOnline;
};

//公會成員 列表須要資料
//Local -> Client
struct PG_Guild_LtoC_GuildMemberBaseInfo
{
	GamePGCommandEnum	Command;

	GuildMemberBaseInfoStruct Info;

	PG_Guild_LtoC_GuildMemberBaseInfo( )
	{	Command = EM_PG_Guild_LtoC_GuildMemberBaseInfo;	}
};

//////////////////////////////////////////////////////////////////////////
//要求公會成員基本資料
//Client -> Local
struct PG_Guild_CtoL_GuildMemberInfoRequet
{
	GamePGCommandEnum	Command;
	int					MemberDBID;
	PG_Guild_CtoL_GuildMemberInfoRequet( )
	{	Command = EM_PG_Guild_CtoL_GuildMemberInfoRequet;	}
};
//////////////////////////////////////////////////////////////////////////
//通知公會基本資料
//Local -> Client
struct PG_Guild_LtoC_GuildMemberInfo
{
	GamePGCommandEnum	Command;

	GuildMemberStruct	Member;

	PG_Guild_LtoC_GuildMemberInfo( )
	{	Command = EM_PG_Guild_LtoC_GuildMemberInfo;	}
};
//////////////////////////////////////////////////////////////////////////
//修改公會資料
//Client -> Local
struct PG_Guild_CtoL_ModifyGuildInfoRequest
{
	GamePGCommandEnum	Command;
	GuildBaseStruct		Guild;
	PG_Guild_CtoL_ModifyGuildInfoRequest( )
	{	Command = EM_PG_Guild_CtoL_ModifyGuildInfoRequest;	}
};
//////////////////////////////////////////////////////////////////////////
//修改公會資料
//Local -> DataCenter
struct PG_Guild_LtoD_ModifyGuildInfoRequest
{
	GamePGCommandEnum	Command;
	int					PlayerDBID;			//要求修改者
	GuildBaseStruct		Guild;
	PG_Guild_LtoD_ModifyGuildInfoRequest( )
	{	Command = EM_PG_Guild_LtoD_ModifyGuildInfoRequest;	}
};
//////////////////////////////////////////////////////////////////////////
//要求修改公會成員
//Client -> Local
struct PG_Guild_CtoL_ModifyGuildMemberInfoRequest
{
	GamePGCommandEnum	Command;
	GuildMemberStruct	Member;

	PG_Guild_CtoL_ModifyGuildMemberInfoRequest( )
	{	Command = EM_PG_Guild_CtoL_ModifyGuildMemberInfoRequest;	}
};
//////////////////////////////////////////////////////////////////////////
//要求修改公會成員
//Local -> DataCenter
struct PG_Guild_LtoD_ModifyGuildMemberInfoRequest
{
	GamePGCommandEnum	Command;
	int					PlayerDBID;			//要求修改者
	GuildMemberStruct	Member;
	PG_Guild_LtoD_ModifyGuildMemberInfoRequest( )
	{	Command = EM_PG_Guild_LtoD_ModifyGuildMemberInfoRequest;	}
};

//////////////////////////////////////////////////////////////////////////
// 正式公會要請加入
//////////////////////////////////////////////////////////////////////////
//邀請加入公會
//Client -> Local
struct PG_Guild_CtoL_GuildInvite
{
	GamePGCommandEnum	Command;

	StaticString <_MAX_NAMESTRING_LEN_>	PlayerName;		//被邀請人名


	PG_Guild_CtoL_GuildInvite( )
	{	Command = EM_PG_Guild_CtoL_GuildInvite;	}
};
//////////////////////////////////////////////////////////////////////////
//通知被要請加入公會
//Local -> Client
struct PG_Guild_LtoC_GuildInvite
{
	GamePGCommandEnum	Command;

	StaticString <_MAX_NAMESTRING_LEN_>	LeaderName;			//邀請者人名
	int					LeaderDBID;
	int					GuildID;			//公會ID

	PG_Guild_LtoC_GuildInvite( )
	{	Command = EM_PG_Guild_LtoC_GuildInvite;	}
};
//////////////////////////////////////////////////////////////////////////
//回應邀請加入公會
//Client -> Local
struct PG_Guild_CtoL_GuildInviteResult
{
	GamePGCommandEnum	Command;

	int					LeaderDBID;
	int					GuildID;			//公會ID
	bool				Result;

	PG_Guild_CtoL_GuildInviteResult( )
	{	Command = EM_PG_Guild_CtoL_GuildInviteResult;	}
};
//////////////////////////////////////////////////////////////////////////
enum	GuildInviteResultENUM
{
	EM_GuildInviteResult_OK			,	//要請成功
	EM_GuildInviteResult_Failed		,	//要請失敗
	EM_GuildInviteResult_NotFind	,	//找不到 想邀請者
	EM_GuildInviteResult_HasGuild	,	//想邀請者 已經有公會
	EM_GuildInviteResult_Disagree	,	//想邀請者 不同意

};
//如果不同意加入公會邀請通知
//Local -> Client
struct PG_Guild_LtoC_GuildInviteResult
{
	GamePGCommandEnum	Command;

	StaticString <_MAX_NAMESTRING_LEN_>		PlayerName;			//被邀請者人名
	GuildInviteResultENUM	Result;				//結果

	PG_Guild_LtoC_GuildInviteResult( )
	{	Command = EM_PG_Guild_LtoC_GuildInviteResult;	}
};

//////////////////////////////////////////////////////////////////////////
//通知加入新成員
//Local -> DataCenter
struct PG_Guild_LtoD_AddGuildMember
{
	GamePGCommandEnum	Command;

	int					MemberDBID;
	StaticString <_MAX_NAMESTRING_LEN_>	MemberName;			//邀請人名
	int					GuildID;			//公會ID
	int					NewMemberDBID;
	StaticString <_MAX_NAMESTRING_LEN_>	NewMember;			//新加入者人名


	PG_Guild_LtoD_AddGuildMember( )
	{	Command = EM_PG_Guild_LtoD_AddGuildMember;	}
};
//////////////////////////////////////////////////////////////////////////
//回應加入結果
//DataCenter -> Local
struct PG_Guild_DtoL_AddGuildMemberResult
{
	GamePGCommandEnum	Command;

	int					LeaderDBID;
	StaticString <_MAX_NAMESTRING_LEN_>	LeaderName;			//邀請人名
	int					GuildID;			//公會ID
	StaticString <_MAX_NAMESTRING_LEN_>	NewMember;			//新加入者人名
	bool				Result;

	PG_Guild_DtoL_AddGuildMemberResult( )
	{	Command = EM_PG_Guild_DtoL_AddGuildMemberResult;	}
};
//////////////////////////////////////////////////////////////////////////
//通知新加入公會者  加入成功
//Local -> Client
struct PG_Guild_LtoC_JoindGuild
{
	GamePGCommandEnum	Command;

	StaticString <_MAX_NAMESTRING_LEN_>	LeaderName;			//邀請人名
	int					GuildID;			//公會ID

	PG_Guild_LtoC_JoindGuild( )
	{	Command = EM_PG_Guild_LtoC_JoindGuild;	}
};
//////////////////////////////////////////////////////////////////////////
//要求離開公會
//Client -> Local
struct PG_Guild_CtoL_LeaveGuild
{
	GamePGCommandEnum	Command;
	StaticString <_MAX_NAMESTRING_LEN_>	PlayerName;		

	PG_Guild_CtoL_LeaveGuild( )
	{	Command = EM_PG_Guild_CtoL_LeaveGuild;	}
};
//////////////////////////////////////////////////////////////////////////
//要求離開公會
//Local -> DataCenter
struct PG_Guild_LtoD_LeaveGuild
{
	GamePGCommandEnum	Command;
	int					LeaderDBID;
	StaticString <_MAX_NAMESTRING_LEN_>	PlayerName;		


	PG_Guild_LtoD_LeaveGuild( )
	{	Command = EM_PG_Guild_LtoD_LeaveGuild;	}
};
//////////////////////////////////////////////////////////////////////////
//回應離開公會結果
//DataCenter -> Local 
struct PG_Guild_DtoL_LeaveGuildResult
{
	GamePGCommandEnum	Command;
	int					LeaderDBID;
	StaticString <_MAX_NAMESTRING_LEN_>	PlayerName;		

	bool				Result;

	PG_Guild_DtoL_LeaveGuildResult( )
	{	Command = EM_PG_Guild_DtoL_LeaveGuildResult;	}
};
//////////////////////////////////////////////////////////////////////////
//回應離開公會結果
//Local -> Client
struct PG_Guild_LtoC_LeaveGuildResult
{
	GamePGCommandEnum	Command;
	StaticString <_MAX_NAMESTRING_LEN_>	KickPlayerName;		
	bool				Result;

	PG_Guild_LtoC_LeaveGuildResult( )
	{	Command = EM_PG_Guild_LtoC_LeaveGuildResult;	}
};
//////////////////////////////////////////////////////////////////////////
//要求解散公會
//Client -> Local
struct PG_Guild_CtoL_DelGuild
{
	GamePGCommandEnum	Command;

	PG_Guild_CtoL_DelGuild( )
	{	Command = EM_PG_Guild_CtoL_DelGuild;	}
};
//////////////////////////////////////////////////////////////////////////
//要求解散公會
//Local -> DataCenter
struct PG_Guild_LtoD_DelGuild
{
	GamePGCommandEnum	Command;
	int					LeaderDBID;

	PG_Guild_LtoD_DelGuild( )
	{	Command = EM_PG_Guild_LtoD_DelGuild;	}
};
//////////////////////////////////////////////////////////////////////////
//回應解散公會結果
//DataCenter -> Local 
struct PG_Guild_DtoL_DelGuildResult
{
	GamePGCommandEnum	Command;
	int					LeaderDBID;
	bool				Result;

	PG_Guild_DtoL_DelGuildResult( )
	{	Command = EM_PG_Guild_DtoL_DelGuildResult;	}
};
//////////////////////////////////////////////////////////////////////////
//回應解散公會結果
//Local -> Client
struct PG_Guild_LtoC_DelGuildResult
{
	GamePGCommandEnum	Command;
	bool				Result;

	PG_Guild_LtoC_DelGuildResult( )
	{	Command = EM_PG_Guild_LtoC_DelGuildResult;	}
};
//////////////////////////////////////////////////////////////////////////
//要求把連署公會轉為正式公會
//Local -> DataCenter
struct PG_Guild_LtoD_SetGuildReady
{
	GamePGCommandEnum	Command;
	int					GuildID;
	PG_Guild_LtoD_SetGuildReady( )
	{	Command = EM_PG_Guild_LtoD_SetGuildReady;	}
};


//////////////////////////////////////////////////////////////////////////
//	公會留言板
//////////////////////////////////////////////////////////////////////////
//要求留言
//Client -> Local
struct PG_Guild_CtoL_BoardPostRequest
{
	GamePGCommandEnum	Command;
	GuildBoardStruct	Message;

	PG_Guild_CtoL_BoardPostRequest( )
	{	Command = EM_PG_Guild_CtoL_BoardPostRequest;	}
};
//////////////////////////////////////////////////////////////////////////
//要求留言
//Local -> DataCenter
struct PG_Guild_LtoD_BoardPostRequest
{
	GamePGCommandEnum	Command;
	int					PlayerDBID;
	GuildBoardStruct	Message;

	PG_Guild_LtoD_BoardPostRequest( )
	{	Command = EM_PG_Guild_LtoD_BoardPostRequest;	}
};
//////////////////////////////////////////////////////////////////////////
//回應留言是否成功
//DataCenter -> Client
struct PG_Guild_DtoC_BoardPostResult
{
	GamePGCommandEnum	Command;
	bool	Result;

	PG_Guild_DtoC_BoardPostResult( )
	{	Command = EM_PG_Guild_DtoC_BoardPostResult;	}
};
//////////////////////////////////////////////////////////////////////////
//要求留言列表
//Client -> Local
struct PG_Guild_CtoL_BoardListRequest
{
	GamePGCommandEnum	Command;
	int		PageID;					//那一頁

	PG_Guild_CtoL_BoardListRequest( )
	{	Command = EM_PG_Guild_CtoL_BoardListRequest;	}
};
//////////////////////////////////////////////////////////////////////////
//要求留言列表
//Local -> DataCenter
struct PG_Guild_LtoD_BoardListRequest
{
	GamePGCommandEnum	Command;
	int					PlayerDBID;
	int					PageID;

	PG_Guild_LtoD_BoardListRequest( )
	{	Command = EM_PG_Guild_LtoD_BoardListRequest;	}
};
//////////////////////////////////////////////////////////////////////////
//回應留言列表 數量
//DataCenter -> Client
struct PG_Guild_DtoC_BoardListCount
{
	GamePGCommandEnum	Command;
	int					MaxCount;		//最大筆數
	int					Count;			//送出幾比 (0表示找不到)
	int					PageID;

	PG_Guild_DtoC_BoardListCount( )
	{	Command = EM_PG_Guild_DtoC_BoardListCount;	}
};

//回應留言列表 單筆資料
struct PG_Guild_DtoC_BoardListData
{
	GamePGCommandEnum		Command;
	int						Index;		//第幾筆資料
	int						GUID;		//序號
	StaticString< _MAX_NAMERECORD_SIZE_ >   PlayerName;	    //發表人
	GuildBoardModeStruct	Type;		//狀態
	int						Time;		//發表時間
	StaticString< 128 >		Title;		//標題


	PG_Guild_DtoC_BoardListData( )
	{	Command = EM_PG_Guild_DtoC_BoardListData;	}
};
//////////////////////////////////////////////////////////////////////////
//要求留言內容
//Client -> Local
struct PG_Guild_CtoL_BoardMessageRequest
{
	GamePGCommandEnum	Command;
	int					GUID;		//訊息的編號

	PG_Guild_CtoL_BoardMessageRequest( )
	{	Command = EM_PG_Guild_CtoL_BoardMessageRequest;	}
};
//////////////////////////////////////////////////////////////////////////
//要求留言內容
//Local -> DataCenter
struct PG_Guild_LtoD_BoardMessageRequest
{
	GamePGCommandEnum	Command;
	int					PlayerDBID;
	int					GUID;


	PG_Guild_LtoD_BoardMessageRequest( )
	{	Command = EM_PG_Guild_LtoD_BoardMessageRequest;	}
};
//////////////////////////////////////////////////////////////////////////
//留言內容
//DataCenter -> Client
struct PG_Guild_DtoC_BoardMessageResult
{
	GamePGCommandEnum	Command;
	GuildBoardStruct	Message;

	PG_Guild_DtoC_BoardMessageResult( )
	{	Command = EM_PG_Guild_DtoC_BoardMessageResult;	}
};
//////////////////////////////////////////////////////////////////////////
//要求修改留言
//Client -> Local
struct PG_Guild_CtoL_BoardModifyMessageRequest
{
	GamePGCommandEnum		Command;
	int						MessageGUID;
	StaticString< 512 >		Message;		//新的留言

	PG_Guild_CtoL_BoardModifyMessageRequest( )
	{	Command = EM_PG_Guild_CtoL_BoardModifyMessageRequest;	}
};
//////////////////////////////////////////////////////////////////////////
//要求修改留言
//Local -> DataCenter
struct PG_Guild_LtoD_BoardModifyMessageRequest
{
	GamePGCommandEnum		Command;
	int						PlayerDBID;
	int						MessageGUID;
	StaticString< 512 >		Message;		//新的留言

	PG_Guild_LtoD_BoardModifyMessageRequest( )
	{	Command = EM_PG_Guild_LtoD_BoardModifyMessageRequest;	}
};
//////////////////////////////////////////////////////////////////////////
//回應修改留言是否成功
//DataCenter -> Client
struct PG_Guild_DtoC_BoardModifyMessageResult
{
	GamePGCommandEnum	Command;
	bool	Result;

	PG_Guild_DtoC_BoardModifyMessageResult( )
	{	Command = EM_PG_Guild_DtoC_BoardModifyMessageResult;	}
};
//////////////////////////////////////////////////////////////////////////
//設定留言屬性
//Client -> Local
struct PG_Guild_CtoL_BoardModifyModeRequest
{
	GamePGCommandEnum		Command;
	int						MessageGUID;
	GuildBoardModeStruct	Mode;

	PG_Guild_CtoL_BoardModifyModeRequest( )
	{	Command = EM_PG_Guild_CtoL_BoardModifyModeRequest;	}
};
//////////////////////////////////////////////////////////////////////////
//要求修改留言
//Local -> DataCenter
struct PG_Guild_LtoD_BoardModifyModeRequest
{
	GamePGCommandEnum		Command;
	int						PlayerDBID;
	int						MessageGUID;
	GuildBoardModeStruct	Mode;

	PG_Guild_LtoD_BoardModifyModeRequest( )
	{	Command = EM_PG_Guild_LtoD_BoardModifyModeRequest;	}
};
//////////////////////////////////////////////////////////////////////////
//回應修改留言是否成功
//DataCenter -> Client
struct PG_Guild_DtoC_BoardModifyModeResult
{
	GamePGCommandEnum	Command;
	bool	Result;

	PG_Guild_DtoC_BoardModifyModeResult( )
	{	Command = EM_PG_Guild_DtoC_BoardModifyModeResult;	}
};


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