26 using TextFilter = ::std::function<::std::string(::std::string
const&)>;
31 ::ll::TypedStorage<4, 4, int> mCurrentSkin;
32 ::ll::TypedStorage<4, 36, ::NpcGUIOffset> mPortraitOffsets;
33 ::ll::TypedStorage<4, 36, ::NpcGUIOffset> mPickerOffsets;
34 ::ll::TypedStorage<8, 24, ::std::vector<::SkinData>> mNPCSkins;
35 ::ll::TypedStorage<8, 48, ::npc::ActionContainer> mActionsContainer;
36 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ActorUniqueID, ::std::string>> mPlayerSceneState;
37 ::ll::TypedStorage<8, 32, ::std::string> mDefaultSceneId;
38 ::ll::TypedStorage<8, 40, ::std::optional<::std::string>> mInteractText;
39 ::ll::TypedStorage<8, 64, ::std::function<::std::string(::std::string
const&)>> mInteractTextFilter;
40 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::NpcI18nObserver>> mNpcI18nObserver;
41 ::ll::TypedStorage<1, 1, bool> mIsGloballyAccessed;
46 NpcComponent& operator=(NpcComponent
const&);
47 NpcComponent(NpcComponent
const&);
53 virtual ~NpcComponent();
59 MCAPI NpcComponent(::NpcComponent&& rhs);
63 MCAPI
void _loadData(
::Actor& owner);
67 MCAPI ::std::vector<int> getCommandCounts()
const;
72 MCAPI ::std::string
const& getInteractiveRawText(
::Actor const& owner)
const;
75 MCAPI ::std::string
const& getInteractiveText(
::Actor& owner)
const;
78 MCAPI ::std::string
const& getName(
::Actor const& owner)
const;
80 MCAPI ::std::string
const& getNameRawText(
::Actor const& owner)
const;
83 MCAPI ::std::string
const& getSceneStateForPlayer(
::ActorUniqueID const& playerID)
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);
93 MCAPI
void loadNameRawText(
::Actor& owner);
95 MCAPI ::NpcComponent& operator=(::NpcComponent&& rhs);
99 MCAPI ::std::string sanitizeRawText(::std::string
const& rawText)
const;
101 MCAPI
void setDefaultSceneId(::std::string sceneId);
103 MCAPI
bool setDialogueScene(
::Actor& owner, ::std::string
const& sceneName);
105 MCAPI
void setInteractiveText(
::Actor& owner, ::std::string
const& text,
bool setLocal);
109 setInteractiveTextFilter(::std::function<::std::string(::std::string
const&)> filter,
bool shouldRunFilter);
112 MCAPI
void setName(
::Actor& owner, ::std::string
const& name,
bool setLocal);
114 MCAPI
void setSceneStateForPlayer(
::Actor& owner,
::ActorUniqueID const& playerID, ::std::string
const& sceneName);
116 MCAPI
bool setSkinIndex(
::Actor& owner,
int skinIndex,
bool setLocal);
118 MCAPI
void syncActionsWithClient(
::Actor& owner);
121 MCAPI
void syncActionsWithServer(
::Actor& owner)
const;
128 MCAPI
static void _defineEntityDataString(
::Actor& owner, ::ActorDataIDs
id);
131 executeCommandAction(
::Actor& owner,
::Player& sourcePlayer,
int actionIndex, ::std::string
const& sceneName);
137 MCAPI static ::std::string
const& ACTIONS_TAG();
139 MCAPI static ::std::string
const& INTERACTIVE_TAG();
141 MCAPI static ::std::string
const& NAME_RAW_TEXT_TAG();
143 MCAPI static ::std::string
const& PLAYER_ID_TAG();
145 MCAPI static ::std::string
const& PLAYER_SCENE_MAPPING_TAG();
147 MCAPI static ::std::string
const& SCENE_NAME_TAG();
149 MCAPI static ::std::string
const& URL_TAG();
155 MCAPI
void* $ctor(::NpcComponent&& rhs);