void TTscripts::addScript(TTnpcScript *script, int scriptId) { // Find the room script this is associated with TTroomScript *roomScript = getRoomScript(scriptId); assert(roomScript); _npcScripts.push_back(new TTnpcScriptListItem(script, roomScript)); }
void CTrueTalkManager::start(CTrueTalkNPC *npc, uint id, CViewItem *view) { TTnpcScript *npcScript = getNpcScript(npc); TTroomScript *roomScript = getRoomScript(); _titleEngine.reset(); uint charId = npcScript->charId(); loadAssets(npc, charId); _currentNPC = npc; _titleEngine._scriptHandler->scriptChanged(roomScript, npcScript, id); _currentNPC = nullptr; setDialogue(npc, roomScript, view); }
void CTrueTalkManager::processInput(CTrueTalkNPC *npc, CTextInputMsg *msg, CViewItem *view) { TTnpcScript *npcScript = getNpcScript(npc); TTroomScript *roomScript = getRoomScript(); _titleEngine.reset(); if (npcScript && roomScript) { _currentNPC = npc; _titleEngine._scriptHandler->processInput(roomScript, npcScript, TTstring(msg->_input)); _currentNPC = nullptr; loadAssets(npc, npcScript->charId()); setDialogue(npc, roomScript, view); } _currentNPC = nullptr; }