Added Error messages when attempting to send messages while disconnected and when attempting to use local commands

This commit is contained in:
Jerom Venneker
2025-05-30 11:36:34 +02:00
parent 497700fe6a
commit 03c93484fd
3 changed files with 13 additions and 6 deletions

View File

@@ -342,12 +342,19 @@ void ArchipelagoClient::SendGameWon() {
}
}
void ArchipelagoClient::SendMessage(const char* message) {
if(apClient == nullptr) {
void ArchipelagoClient::SendMessage(const std::string message) {
// local commands not implemented yet
if(message.starts_with("/")) {
ArchipelagoConsole_SendMessage("Ship of Harkinian does not have any local commands yet.\nUse !help\" to see server commands instead", false);
return;
}
apClient->Say(std::string(message));
if(apClient == nullptr) {
ArchipelagoConsole_SendMessage("[ERROR] Could not send message. Please Connect to your slot.", false);
return;
}
apClient->Say(message);
}
void ArchipelagoClient::Poll() {

View File

@@ -58,7 +58,7 @@ class ArchipelagoClient{
void QueueExternalCheck(int64_t apLocation);
void SendGameWon();
void SendMessage(const char* message);
void SendMessage(const std::string message);
void Poll();
std::unique_ptr<APClient> apClient;

View File

@@ -75,14 +75,14 @@ void ArchipelagoConsoleWindow::DrawElement() {
keepFocus = false;
}
if(ImGui::InputText("##AP_MessageField", textEntryBuf, 1023, ImGuiInputTextFlags_EnterReturnsTrue)) {
ArchipelagoClient::GetInstance().SendMessage(textEntryBuf);
ArchipelagoClient::GetInstance().SendMessage(std::string(textEntryBuf));
textEntryBuf[0] = '\0';
keepFocus = true;
}
//keepFocus = ImGui::IsItemActive();
ImGui::SameLine();
if(ImGui::Button("Send")) {
ArchipelagoClient::GetInstance().SendMessage(textEntryBuf);
ArchipelagoClient::GetInstance().SendMessage(std::string(textEntryBuf));
textEntryBuf[0] = '\0';
keepFocus = true;
}