Enabling MessageQueue for Scripting (#4201)
As @Benau suggested to use MessageQueue for *making the Game Flow of the Tutorial smoother* (#4187), this Pull Request enable MessageQueue for Track-Scripts. For me it works well with MessageQueue, however i think we could make the Font of a Message a little bit bigger, since it is quite small, especially on mobile.
This commit is contained in:
parent
ea948fd5d5
commit
4ce88158c8
@ -30,6 +30,7 @@
|
|||||||
#include "tracks/track_object_manager.hpp"
|
#include "tracks/track_object_manager.hpp"
|
||||||
#include "utils/string_utils.hpp"
|
#include "utils/string_utils.hpp"
|
||||||
#include "utils/translation.hpp"
|
#include "utils/translation.hpp"
|
||||||
|
#include "guiengine/message_queue.hpp"
|
||||||
|
|
||||||
#include <angelscript.h>
|
#include <angelscript.h>
|
||||||
#include "scriptarray.hpp"
|
#include "scriptarray.hpp"
|
||||||
@ -76,6 +77,22 @@ namespace Scripting
|
|||||||
new TutorialMessageDialog((out), true);
|
new TutorialMessageDialog((out), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Display a Message using MessageQueue */
|
||||||
|
void displayGenericMessage(std::string* input)
|
||||||
|
{
|
||||||
|
irr::core::stringw msg = StringUtils::utf8ToWide(*input);
|
||||||
|
MessageQueue::MessageType type = MessageQueue::MT_GENERIC;
|
||||||
|
MessageQueue::add(type, msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Display a Error Message using MessageQueue */
|
||||||
|
void displayErrorMessage(std::string* input)
|
||||||
|
{
|
||||||
|
irr::core::stringw msg = StringUtils::utf8ToWide(*input);
|
||||||
|
MessageQueue::MessageType type = MessageQueue::MT_ERROR;
|
||||||
|
MessageQueue::add(type, msg);
|
||||||
|
}
|
||||||
|
|
||||||
void clearOverlayMessages()
|
void clearOverlayMessages()
|
||||||
{
|
{
|
||||||
World::getWorld()->getRaceGUI()->clearAllMessages();
|
World::getWorld()->getRaceGUI()->clearAllMessages();
|
||||||
@ -192,8 +209,16 @@ namespace Scripting
|
|||||||
asDWORD call_conv = mp ? asCALL_GENERIC : asCALL_CDECL;
|
asDWORD call_conv = mp ? asCALL_GENERIC : asCALL_CDECL;
|
||||||
int r; // of type asERetCodes
|
int r; // of type asERetCodes
|
||||||
|
|
||||||
r = engine->RegisterGlobalFunction("void displayModalMessage(const string &in)",
|
r = engine->RegisterGlobalFunction("void displayGenericMessage(const string &in)",
|
||||||
mp ? WRAP_FN(displayModalMessage) : asFUNCTION(displayModalMessage),
|
mp ? WRAP_FN(displayGenericMessage) : asFUNCTION(displayGenericMessage),
|
||||||
|
call_conv); assert(r >= 0);
|
||||||
|
|
||||||
|
r = engine->RegisterGlobalFunction("void displayErrorMessage(const string &in)",
|
||||||
|
mp ? WRAP_FN(displayErrorMessage) : asFUNCTION(displayErrorMessage),
|
||||||
|
call_conv); assert(r >= 0);
|
||||||
|
|
||||||
|
r = engine->RegisterGlobalFunction("void displayModalMessage(const string &in)",
|
||||||
|
mp ? WRAP_FN(displayModalMessage) : asFUNCTION(displayModalMessage),
|
||||||
call_conv); assert(r >= 0);
|
call_conv); assert(r >= 0);
|
||||||
|
|
||||||
r = engine->RegisterGlobalFunction("void displayOverlayMessage(const string &in)",
|
r = engine->RegisterGlobalFunction("void displayOverlayMessage(const string &in)",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user