mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-04-26 14:37:44 +00:00
50 lines
No EOL
1.4 KiB
C++
50 lines
No EOL
1.4 KiB
C++
#ifndef NATIVE_SCRIPT_H
|
|
#define NATIVE_SCRIPT_H
|
|
|
|
#include <unordered_map>
|
|
|
|
#include <boost/shared_ptr.hpp>
|
|
#include <boost/make_shared.hpp>
|
|
#include <boost/filesystem.hpp>
|
|
|
|
#include <Server_Common/Crypt/md5.h>
|
|
|
|
#include "NativeScriptApi.h"
|
|
|
|
namespace Core {
|
|
namespace Scripting {
|
|
|
|
class NativeScript
|
|
{
|
|
protected:
|
|
std::unordered_map< uint32_t, StatusEffectScript* > m_statusEffectScripts;
|
|
std::unordered_map< uint32_t, AbilityScript* > m_abilityScripts;
|
|
std::unordered_map< uint32_t, QuestScript* > m_questScripts;
|
|
std::unordered_map< uint32_t, BattleNpcScript* > m_battleNpcScripts;
|
|
std::unordered_map< uint32_t, ZoneScript* > m_zoneScripts;
|
|
|
|
public:
|
|
NativeScript( );
|
|
|
|
StatusEffectScript* getStatusEffectScript( uint32_t statusId );
|
|
AbilityScript* getAbilityScript( uint32_t abilityId );
|
|
QuestScript* getQuestScript( uint32_t questId );
|
|
BattleNpcScript* getBattleNpcScript( uint32_t npcId );
|
|
ZoneScript* getZoneScript( uint32_t zoneId );
|
|
|
|
void removeStatusEffectScript( uint32_t statusId );
|
|
void removeAbilityScript( uint32_t abilityId );
|
|
void removeQuestScript( uint32_t questId );
|
|
void removeBattleNpcScript( uint32_t npcId );
|
|
|
|
|
|
void clearAllScripts();
|
|
};
|
|
|
|
|
|
|
|
boost::shared_ptr< NativeScript > create_script_engine( );
|
|
} }
|
|
|
|
|
|
#endif |