DragonNest/GameCommon/ReputationSystemEventHandler.h
2024-12-20 16:56:44 +08:00

41 lines
3 KiB
C++
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.


#pragma once
#include "ReputationSystem.h"
#if defined( PRE_ADD_NPC_REPUTATION_SYSTEM )
class IReputationSystemEventHandler
{
public:
virtual ~IReputationSystemEventHandler(){}
virtual void OnComplete( IReputationSystem* pReputation, IReputationSystem::eType Type ) = 0;
virtual void OnChange( IReputationSystem::eType Type ) = 0;
#if defined( PRE_ADD_REPUTATION_EXPOSURE )
virtual void OnCommit( std::map<IReputationSystem*,size_t>& Reputation, bool bClientSend ) = 0;
#else
virtual void OnCommit( std::map<IReputationSystem*,int>& Reputation, bool bClientSend ) = 0;
#endif // #if defined( PRE_ADD_REPUTATION_EXPOSURE )
virtual void OnConnect( __time64_t tTime, bool bSend ) = 0;
};
// Null-Interface Class
class CNullReputationSystemEventHandler:public IReputationSystemEventHandler,public TBoostMemoryPool<CNullReputationSystemEventHandler>
{
public:
virtual ~CNullReputationSystemEventHandler(){}
virtual void OnComplete( IReputationSystem* pReputation, IReputationSystem::eType Type ){}
virtual void OnChange( IReputationSystem::eType Type ){}
#if defined( PRE_ADD_REPUTATION_EXPOSURE )
virtual void OnCommit( std::map<IReputationSystem*,size_t>& Reputation, bool bClientSend ){}
#else
virtual void OnCommit( std::map<IReputationSystem*,int>& Reputation, bool bClientSend ){}
#endif // #if defined( PRE_ADD_REPUTATION_EXPOSURE )
virtual void OnConnect( __time64_t tTime, bool bSend ){}
};
#endif // #if defined( PRE_ADD_NPC_REPUTATION_SYSTEM )