[Quest API] Add Popup methods to Perl/Lua. (#2533)

* [Quest API] Add Popup methods to Perl/Lua.

# Perl
- Add `quest::popupcentermessage(message)` to Perl.
- Add `quest::popupcolormessage(color, message)` to Perl.
- Add `quest::popupindent()` to Perl.
- Add `quest::popuplink(link)` to Perl.
- Add `quest::popuplink(link, message)` to Perl.

# Lua
- Add `eq.popup(title, message)` to Lua.
- Add `eq.popup(title, message, popup_id)` to Lua.
- Add `eq.popup(title, message, popup_id, buttons)` to Lua.
- Add `eq.popup_center_message(message)` to Lua.
- Add `eq.popup_color_message(color, message)` to Lua.
- Add `eq.popup_indent()` to Lua.
- Add `eq.popup_link(link)` to Lua.
- Add `eq.popup_link(link, message)` to Lua.

# Notes
- Adds the Perl plugins like PWAutoCenter, PWIndent, and PWHyperlink.
- Parses out HTML `<>` tags automatically in `popupautocenter` to properly center stuff like colored messages. (Doesn't work with links)
- This lets Lua users have similar functionality to Perl users.

* Add tables and break.

* Add indent_count to indent method.

* Move to Dialogue Window.
This commit is contained in:
Kinglykrab
2022-11-14 14:05:24 -05:00
committed by GitHub
parent 31e5622dad
commit 9c967c24b8
4 changed files with 272 additions and 1 deletions
+8
View File
@@ -388,6 +388,14 @@ const std::map<std::string, int> animations = {
class DialogueWindow {
public:
static void Render(Client *c, std::string markdown);
static std::string Break(uint32 break_count = 1);
static std::string CenterMessage(std::string message);
static std::string ColorMessage(std::string color, std::string message);
static std::string Indent(uint32 indent_count = 1);
static std::string Link(std::string link, std::string message = std::string());
static std::string Table(std::string message);
static std::string TableCell(std::string message = std::string());
static std::string TableRow(std::string message);
};