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;
43 ::ll::TypedStorage<1, 1, bool> mIsGloballyAccessed;
65 MCAPI
void _defineEntityDataString(
::Actor& owner, ::ActorDataIDs
id);
69 MCAPI
void _loadData(
::Actor& owner);
73 MCAPI
void executeClosingCommands(
::Actor& owner,
::Player& sourcePlayer, ::std::string
const& sceneName);
76 executeCommandAction(
::Actor& owner,
::Player& sourcePlayer,
int actionIndex, ::std::string
const& sceneName);
78 MCAPI
void executeOpeningCommands(
::Actor& owner,
::Player& sourcePlayer, ::std::string
const& sceneName);
80 MCAPI ::std::vector<int> getCommandCounts()
const;
84 MCAPI ::std::string
const& getInteractiveText(
::Actor& owner)
const;
86 MCAPI ::std::string
const& getSceneStateForPlayer(
::ActorUniqueID const& playerID)
const;
88 MCAPI
void initClientOnlyData(
::Actor& owner);
90 MCAPI
void initFromDefinition(
::Actor& owner);
92 MCAPI
void loadActions(
::Actor& owner);
94 MCAPI
void loadInteractiveRawText(
::Actor& owner);
100 MCAPI ::std::string sanitizeRawText(::std::string
const& rawText)
const;
103 setActions(
::Actor& owner, ::std::vector<::std::variant<::npc::CommandAction, ::npc::UrlAction>>&& newActions);
105 MCAPI
bool setDialogueScene(
::Actor& owner, ::std::string
const& sceneName);
107 MCAPI
void setInteractiveText(
::Actor& owner, ::std::string
const& text,
bool setLocal);
109 MCAPI
void setName(
::Actor& owner, ::std::string
const& name,
bool setLocal);
111 MCAPI
bool setSkinIndex(
::Actor& owner,
int skinIndex,
bool setLocal);
117 MCAPI static ::std::string
const& ACTIONS_TAG();
119 MCAPI static ::std::string
const& INTERACTIVE_TAG();
121 MCAPI static ::std::string
const& NAME_RAW_TEXT_TAG();
123 MCAPI static ::std::string
const& PLAYER_ID_TAG();
125 MCAPI static ::std::string
const& PLAYER_SCENE_MAPPING_TAG();
127 MCAPI static ::std::string
const& SCENE_NAME_TAG();
129 MCAPI static ::std::string
const& URL_TAG();