#pragma once

#include "PG_RoleValue.h"
#include "../../MainProc/NetGlobal.h"

class NetCli_RoleValue : public CNetGlobal
{
protected:
    //-------------------------------------------------------------------
    static NetCli_RoleValue* This;
    static bool _Init();
    static bool _Release();
    //-------------------------------------------------------------------

    
    static void _PG_RoleValue_LtoC_FixAllRoleValue   ( int Sockid , int Size , void* Data );     
    static void _PG_RoleValue_LtoC_FixRoleValue      ( int Sockid , int Size , void* Data );        
    static void _PG_RoleValue_LtoC_ResultSetPoint    ( int Sockid , int Size , void* Data );     
    static void _PG_RoleValue_LtoC_NotifyLvUp        ( int Sockid , int Size , void* Data );     
    static void _PG_RoleValue_LtoC_SetTitleFlag      ( int Sockid , int Size , void* Data );     
    static void _PG_RoleValue_LtoC_SetFlag           ( int Sockid , int Size , void* Data );        
    static void _PG_RoleValue_LtoC_SetTitleResult    ( int Sockid , int Size , void* Data );     
    static void _PG_RoleValue_LtoC_Title             ( int Sockid , int Size , void* Data );     
                                                     
public:                                              
    NetCli_RoleValue() { This = this; }


    virtual void R_FixAllRoleValue   ( BaseAbilityStruct& Ability ) = 0;
    virtual void R_FixRoleValue      ( RoleValueName_ENUM ValueName , float Value ) = 0;
    virtual void R_SetPoint_OK       ( ) = 0;
    virtual void R_SetPoint_Failed   ( ) = 0;
    virtual void R_NotifyLvUp        ( int ItemID , int Level ) = 0;
    virtual void R_SetTitleFlag      ( int TitleID , bool Flag ) = 0;
    virtual void R_SetFlag           ( int FlagID , bool Flag ) = 0;
    virtual void R_SetTitle_OK       ( int TitleID ) = 0;
    virtual void R_SetTitle_Failed   ( ) = 0;
    virtual void R_Title             ( int ItemID , int TitleID ) = 0;

    static void S_RequestFixRoleValue   ( );
    static void S_RequestSetPoint       ( RoleValueName_ENUM ValueName );
    static void S_SetTitlRequest        ( int TitleID );
};

