#pragma once
#pragma warning (disable:4949)
#include "../../RoleData/RoleBaseDef.h"
#include "../NetWakerPGEnum.h"
#pragma unmanaged


//-----------------------------------------------------------------------------------------
// Client -> Local
// 要求修正所有基本數值
struct PG_RoleValue_CtoL_RequestFixRoleValue
{
    GamePGCommandEnum	Command;

    PG_RoleValue_CtoL_RequestFixRoleValue( )
    {	Command = EM_PG_RoleValue_CtoL_RequestFixRoleValue;	}
};
//-----------------------------------------------------------------------------------------
// Local -> Client
// 修正所有基本數值
struct PG_RoleValue_LtoC_FixAllRoleValue
{
    GamePGCommandEnum	Command;

    BaseAbilityStruct	Ability;
    //SkillStruct			Skill;

    PG_RoleValue_LtoC_FixAllRoleValue( )
    {	Command = EM_PG_RoleValue_LtoC_FixAllRoleValue;	}
};
//-----------------------------------------------------------------------------------------
// Local -> Client
// 修正基本數值
struct PG_RoleValue_LtoC_FixRoleValue
{
    GamePGCommandEnum	Command;

    RoleValueName_ENUM	ValueName;
    float				Value;

    PG_RoleValue_LtoC_FixRoleValue( )
    {	Command = EM_PG_RoleValue_LtoC_FixRoleValue;	}
};
//-----------------------------------------------------------------------------------------
// Client -> Local
// 要求配點 
struct PG_RoleValue_CtoL_RequestSetPoint
{
    GamePGCommandEnum	Command;

    RoleValueName_ENUM	ValueName;
//    int					Value;

    PG_RoleValue_CtoL_RequestSetPoint( )
    {	Command = EM_PG_RoleValue_CtoL_RequestSetPoint;	}
};
//-----------------------------------------------------------------------------------------
// Server -> Client
// 配點回應
struct PG_RoleValue_LtoC_ResultSetPoint
{
    GamePGCommandEnum	Command;

    bool                Result;


    PG_RoleValue_LtoC_ResultSetPoint( )
    {	Command = EM_PG_RoleValue_LtoC_ResultSetPoint;	} 
};
//-----------------------------------------------------------------------------------------
// Server -> Client
// 通知某角色升級
struct PG_RoleValue_LtoC_NotifyLvUp
{
    GamePGCommandEnum	Command;

    int					ItemID;
    int					LV;			//目前等級

    PG_RoleValue_LtoC_NotifyLvUp( )
    {	Command = EM_PG_RoleValue_LtoC_NotifyLvUp;	} 
};
//-----------------------------------------------------------------------------------------
// Server -> Client
//設定頭銜旗標
struct PG_RoleValue_LtoC_SetTitleFlag
{
    GamePGCommandEnum	Command;

    int					TitleID;
    bool				Flag;			

    PG_RoleValue_LtoC_SetTitleFlag( )
    {	Command = EM_PG_RoleValue_LtoC_SetTitleFlag;	} 
};
//-----------------------------------------------------------------------------------------
// Server -> Client
//設定旗標
struct PG_RoleValue_LtoC_SetFlag
{
    GamePGCommandEnum	Command;

    int					ID;
    bool				Flag;			

    PG_RoleValue_LtoC_SetFlag( )
    {	Command = EM_PG_RoleValue_LtoC_SetFlag;	} 
};
//-----------------------------------------------------------------------------------------
// Client -> Server
//設定頭銜資料
struct PG_RoleValue_CtoL_SetTitlRequest
{
    GamePGCommandEnum	Command;
    int					TitleID;

    PG_RoleValue_CtoL_SetTitlRequest( )
    {	Command = EM_PG_RoleValue_CtoL_SetTitlRequest;	} 
};
//-----------------------------------------------------------------------------------------
// Server -> Client
//回應頭銜設定結果
struct PG_RoleValue_LtoC_SetTitleResult
{
    GamePGCommandEnum	Command;
    int					TitleID;
    bool				Result;

    PG_RoleValue_LtoC_SetTitleResult( )
    {	Command = EM_PG_RoleValue_LtoC_SetTitleResult;	} 
};
//-----------------------------------------------------------------------------------------
// Server -> Client
//通知周圍玩家頭銜設定
struct PG_RoleValue_LtoC_Title
{
    GamePGCommandEnum	Command;
    int					ItemID;
    int					TitleID;

    PG_RoleValue_LtoC_Title( )
    {	Command = EM_PG_RoleValue_LtoC_Title;	} 
};
//-----------------------------------------------------------------------------------------
//通知某玩家升級
struct PG_RoleValue_LtoC_LevelUp
{
    GamePGCommandEnum	Command;
    int					ItemID;
    int					Level;

    PG_RoleValue_LtoC_LevelUp( )
    {	Command = EM_PG_RoleValue_LtoC_LevelUp;	} 
};
//-----------------------------------------------------------------------------------------

#pragma managed
