载入中...
搜索中...
未找到
DialogueUX.h
浏览该文件的文档.
1#pragma once
2#include "common/Export.h"
3
4
5#include "common/Module.h"
6
7#include <string>
8#include <unordered_set>
9#include <vector>
10
11namespace eve::dialogue {
12
15public:
17
19 void record(const std::string& lineId, const std::string& speaker, const std::string& text);
21 void clearHistory();
23 int getHistoryCount() const;
25 std::string getHistoryLineId(int index) const;
27 std::string getHistorySpeaker(int index) const;
29 std::string getHistoryText(int index) const;
30
32 std::string plainText(const std::string& richText) const;
34 int getTextActionCount(const std::string& richText) const;
35
37 void setAutoMode(bool enabled) { autoMode_ = enabled; }
39 bool isAutoMode() const { return autoMode_; }
41 void setAutoDelay(float seconds);
43 float getAutoDelay() const { return autoDelay_; }
45 bool updateAuto(float dt, bool voicePlaying);
47 void resetAutoTimer() { autoElapsed_ = 0.f; }
48
50 bool setSkipMode(const std::string& mode);
52 std::string getSkipMode() const { return skipMode_; }
54 void markRead(const std::string& lineId);
56 bool isRead(const std::string& lineId) const;
58 bool shouldSkip(const std::string& lineId) const;
59
60private:
61 struct HistoryEntry {
62 std::string lineId;
63 std::string speaker;
64 std::string text;
65 };
66
67 const HistoryEntry* historyAt(int index) const;
68
69 std::vector<HistoryEntry> history_;
70 std::unordered_set<std::string> readLines_;
71 bool autoMode_ = false;
72 float autoDelay_ = 1.5f;
73 float autoElapsed_ = 0.f;
74 std::string skipMode_ = "off";
75};
76
77} // namespace eve::dialogue
#define EVENGINE_API_ORCHESTRATION
Definition Export.h:111
std::string text
uint32_t index
EVENGINE_API_FOUNDATION public API.
Definition Module.h:46
Presentation state shared by default and custom dialogue UIs.
Definition DialogueUX.h:14
bool isAutoMode() const
True when auto mode.
Definition DialogueUX.h:39
void setAutoMode(bool enabled)
Sets the auto mode.
Definition DialogueUX.h:37
void resetAutoTimer()
Resets auto timer.
Definition DialogueUX.h:47
float getAutoDelay() const
Returns the auto delay.
Definition DialogueUX.h:43
std::string getSkipMode() const
Returns the skip mode.
Definition DialogueUX.h:52
bool enabled