28 using TextFilter = ::std::function<::std::string(::std::string
const&)>;
33 ::ll::TypedStorage<4, 4, int> mCurrentSkin;
34 ::ll::TypedStorage<4, 36, ::NpcGUIOffset> mPortraitOffsets;
35 ::ll::TypedStorage<4, 36, ::NpcGUIOffset> mPickerOffsets;
36 ::ll::TypedStorage<8, 24, ::std::vector<::SkinData>> mNPCSkins;
37 ::ll::TypedStorage<8, 48, ::npc::ActionContainer> mActionsContainer;
38 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ActorUniqueID, ::std::string>> mPlayerSceneState;
39 ::ll::TypedStorage<8, 32, ::std::string> mDefaultSceneId;
40 ::ll::TypedStorage<8, 40, ::std::optional<::std::string>> mInteractText;
41 ::ll::TypedStorage<8, 64, ::std::function<::std::string(::std::string
const&)>> mInteractTextFilter;
42 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::NpcI18nObserver>> mNpcI18nObserver;
64 MCAPI
void _defineEntityDataString(
::Actor& owner, ::ActorDataIDs
id);
68 MCAPI
void _loadData(
::Actor& owner);
72 MCAPI
void executeClosingCommands(
::Actor& owner,
::Player& sourcePlayer, ::std::string
const& sceneName);
75 executeCommandAction(
::Actor& owner,
::Player& sourcePlayer,
int actionIndex, ::std::string
const& sceneName);
77 MCAPI
void executeOpeningCommands(
::Actor& owner,
::Player& sourcePlayer, ::std::string
const& sceneName);
79 MCAPI ::std::vector<int> getCommandCounts()
const;
83 MCAPI ::std::string
const& getInteractiveText(
::Actor& owner)
const;
85 MCAPI
void initClientOnlyData(
::Actor& owner);
87 MCAPI
void initFromDefinition(
::Actor& owner);
89 MCAPI
void loadActions(
::Actor& owner);
91 MCAPI
void loadInteractiveRawText(
::Actor& owner);
97 MCAPI ::std::string sanitizeRawText(::std::string
const& rawText)
const;
100 setActions(
::Actor& owner, ::std::vector<::std::variant<::npc::CommandAction, ::npc::UrlAction>>&& newActions);
102 MCAPI
bool setDialogueScene(
::Actor& owner, ::std::string
const& sceneName);
104 MCAPI
void setInteractiveText(
::Actor& owner, ::std::string
const& text,
bool setLocal);
106 MCAPI
void setName(
::Actor& owner, ::std::string
const& name,
bool setLocal);
108 MCAPI
bool setSkinIndex(
::Actor& owner,
int skinIndex,
bool setLocal);
114 MCAPI static ::std::string
const& ACTIONS_TAG();
116 MCAPI static ::std::string
const& INTERACTIVE_TAG();
118 MCAPI static ::std::string
const& NAME_RAW_TEXT_TAG();
120 MCAPI static ::std::string
const& PLAYER_ID_TAG();
122 MCAPI static ::std::string
const& PLAYER_SCENE_MAPPING_TAG();
124 MCAPI static ::std::string
const& SCENE_NAME_TAG();
126 MCAPI static ::std::string
const& URL_TAG();
146 MCAPI
static void** $vftable();