Small change
This commit is contained in:
parent
06187a79ac
commit
4537aff086
@ -167,8 +167,11 @@ namespace ui_scripting
|
|||||||
{
|
{
|
||||||
if (!this->is<T>())
|
if (!this->is<T>())
|
||||||
{
|
{
|
||||||
|
const auto hks_typename = game::hks::typenames[this->get_raw().t + 2];
|
||||||
|
const auto typename_ = get_typename<T>();
|
||||||
|
|
||||||
throw std::runtime_error(utils::string::va("%s expected, got %s",
|
throw std::runtime_error(utils::string::va("%s expected, got %s",
|
||||||
typeid(T).name(), game::hks::typenames[this->get_raw().t + 2]));
|
typename_.data(), hks_typename));
|
||||||
}
|
}
|
||||||
|
|
||||||
return get<T>();
|
return get<T>();
|
||||||
@ -184,6 +187,7 @@ namespace ui_scripting
|
|||||||
|
|
||||||
hks_object value_{};
|
hks_object value_{};
|
||||||
|
|
||||||
|
private:
|
||||||
template <typename T>
|
template <typename T>
|
||||||
T get() const;
|
T get() const;
|
||||||
|
|
||||||
@ -201,16 +205,15 @@ namespace ui_scripting
|
|||||||
template <typename T>
|
template <typename T>
|
||||||
T as() const
|
T as() const
|
||||||
{
|
{
|
||||||
if (!this->value_.is<T>())
|
try
|
||||||
{
|
{
|
||||||
const auto hks_typename = game::hks::typenames[this->value_.get_raw().t + 2];
|
return this->value_.as<T>();
|
||||||
const auto typename_ = get_typename<T>();
|
}
|
||||||
|
catch (const std::exception& e)
|
||||||
throw std::runtime_error(utils::string::va("bad argument #%d (%s expected, got %s)",
|
{
|
||||||
this->index_ + 1, typename_.data(), hks_typename));
|
throw std::runtime_error(utils::string::va("bad argument #%d (%s)",
|
||||||
|
this->index_ + 1, e.what()));
|
||||||
}
|
}
|
||||||
|
|
||||||
return this->value_.get<T>();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
|
Loading…
Reference in New Issue
Block a user