1 #ifndef CORE_AI_CONVERSATION_HPP
2 #define CORE_AI_CONVERSATION_HPP
4 #include <BLIB/ECS/Entity.hpp>
88 bl::ecs::Entity entity;
89 const std::vector<file::Conversation::Node>* nodes;
Core classes and functionality for both the editor and game.
Wrapper around file::Conversation that tracks current node,.
void notifyNext()
Continues to the next node on player input.
bool finished() const
Returns whether or not the conversation is finished.
void notifyCheckFailed()
Jumps to the node for a check pass (ie take item/money fail etc)
void notifyCheckPassed()
Jumps to the node for a check pass (ie take item/money success etc)
void notifyChoiceMade(const std::string &choice)
Jumps to the node for the given choice if the current node is a Prompt.
const file::Conversation::Node & currentNode() const
Returns the current node.
Conversation(system::Systems &systems)
Creates an empty conversation wrapper.
void setConversation(const file::Conversation &conversation, bl::ecs::Entity entity, bool talked)
Sets the wrapper to point to the given underlying. The underlying must remain in scope during the lif...
Stores a conversation that an NPC or trainer can have with the player.
Building block of conversations. A conversation is a tree of nodes and each node is an action that ha...
Owns all primary systems and a reference to the engine.