2021-08-04 16:18:52 +01:00
|
|
|
#include "framework.h"
|
|
|
|
#include "ScriptAssert.h"
|
|
|
|
|
2021-08-04 16:51:58 +01:00
|
|
|
static ERROR_MODE ScriptErrorMode = ERROR_MODE::WARN;
|
2021-08-04 16:18:52 +01:00
|
|
|
|
2021-08-06 16:43:01 +01:00
|
|
|
void ScriptWarn(std::string const& msg)
|
|
|
|
{
|
|
|
|
switch (ScriptErrorMode)
|
|
|
|
{
|
|
|
|
case ERROR_MODE::TERMINATE:
|
|
|
|
case ERROR_MODE::WARN:
|
|
|
|
TENLog(msg, LogLevel::Warning, LogConfig::All);
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2021-08-04 16:18:52 +01:00
|
|
|
bool ScriptAssert(bool cond, std::string const& msg, std::optional<ERROR_MODE> forceMode)
|
|
|
|
{
|
|
|
|
if (!cond)
|
|
|
|
{
|
|
|
|
ERROR_MODE mode = forceMode ? *forceMode : ScriptErrorMode;
|
|
|
|
switch (mode)
|
|
|
|
{
|
|
|
|
case ERROR_MODE::WARN:
|
2021-08-16 12:52:06 +01:00
|
|
|
TENLog(msg, LogLevel::Error, LogConfig::All);
|
2021-08-04 16:18:52 +01:00
|
|
|
break;
|
|
|
|
case ERROR_MODE::TERMINATE:
|
2021-08-16 12:52:06 +01:00
|
|
|
TENLog(msg, LogLevel::Error, LogConfig::All);
|
2021-08-04 16:18:52 +01:00
|
|
|
throw TENScriptException(msg);
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return cond;
|
|
|
|
}
|
2021-08-06 16:43:01 +01:00
|
|
|
|
2021-08-21 00:13:44 +01:00
|
|
|
|
|
|
|
void SetScriptErrorMode(ERROR_MODE mode)
|
2021-08-06 16:43:01 +01:00
|
|
|
{
|
2021-08-16 12:52:06 +01:00
|
|
|
ScriptErrorMode = mode;
|
2021-08-06 16:43:01 +01:00
|
|
|
}
|
2021-08-21 00:13:44 +01:00
|
|
|
|
|
|
|
ERROR_MODE GetScriptErrorMode()
|
|
|
|
{
|
|
|
|
return ScriptErrorMode;
|
|
|
|
}
|
|
|
|
|