Tramway SDK
dialog.h
Go to the documentation of this file.
1// Tramway Drifting and Dungeon Exploration Simulator SDK Runtime
2
3#ifndef TRAM_SDK_EXTENSIONS_KITCHENSINK_DIALOG_H
4#define TRAM_SDK_EXTENSIONS_KITCHENSINK_DIALOG_H
5
6#include <framework/value.h>
7
8#include <vector>
9
10namespace tram::Ext::Kitchensink {
11
16
17 // TODO: add greetings, etc.
18};
19
23
24 bool IsMet();
25};
26
30
31 void Perform();
32};
33
36
38
41
44
45 std::vector<name_t> next_topics;
46
47 std::vector<name_t> GetValidNextTopics();
48 void Gather(std::vector<name_t>& topics);
49
50 static void LoadFromDisk(const char* filename);
51
52 static DialogTopic* Make(name_t);
53 static DialogTopic* Find(name_t);
54};
55
57public:
58 DialogController(name_t initial_topic);
59
61 std::vector<name_t> GetPrompts();
62
63 bool ShouldExit();
64 void MoveTo(size_t prompt_index);
65private:
66 name_t initial_topic;
67 name_t current_topic;
68 name_t answer;
69 bool should_exit = false;
70 std::vector<name_t> next_topics;
71};
72
73}
74
75#endif // TRAM_SDK_EXTENSIONS_KITCHENSINK_DIALOG_H
void MoveTo(size_t prompt_index)
Definition: dialog.cpp:233
name_t GetAnswer()
Definition: dialog.cpp:187
bool ShouldExit()
Definition: dialog.cpp:200
DialogController(name_t initial_topic)
Definition: dialog.cpp:179
std::vector< name_t > GetPrompts()
Definition: dialog.cpp:191
Extension containing random stuff that doesn't fit in anywhere else.
Definition: ai.cpp:15
DialogType
Definition: dialog.h:12
@ DIALOG_IMPORT_MULTIPLE
Definition: dialog.h:15
@ DIALOG_TOPIC
Definition: dialog.h:13
@ DIALOG_IMPORT_SINGLE
Definition: dialog.h:14
void Perform()
Definition: dialog.cpp:24
name_t quest
Definition: dialog.h:28
name_t trigger
Definition: dialog.h:29
name_t variable
Definition: dialog.h:22
name_t quest
Definition: dialog.h:21
bool IsMet()
Definition: dialog.cpp:17
name_t prompt
Definition: dialog.h:39
name_t name
Definition: dialog.h:37
static DialogTopic * Make(name_t)
Definition: dialog.cpp:72
static DialogTopic * Find(name_t)
Definition: dialog.cpp:84
name_t answer
Definition: dialog.h:40
std::vector< name_t > GetValidNextTopics()
Definition: dialog.cpp:29
DialogCondition condition
Definition: dialog.h:42
DialogType type
Definition: dialog.h:35
DialogAction action
Definition: dialog.h:43
std::vector< name_t > next_topics
Definition: dialog.h:45
void Gather(std::vector< name_t > &topics)
Definition: dialog.cpp:48
static void LoadFromDisk(const char *filename)
Definition: dialog.cpp:88
Interned string type.
Definition: uid.h:10