diff --git a/src/ui/simple/CSimpleFontStringScript.cpp b/src/ui/simple/CSimpleFontStringScript.cpp index 57893eb..62f2415 100644 --- a/src/ui/simple/CSimpleFontStringScript.cpp +++ b/src/ui/simple/CSimpleFontStringScript.cpp @@ -73,7 +73,16 @@ int32_t CSimpleFontString_Hide(lua_State* L) { } int32_t CSimpleFontString_IsVisible(lua_State* L) { - WHOA_UNIMPLEMENTED(0); + auto type = CSimpleFontString::GetObjectType(); + auto string = static_cast(FrameScript_GetObjectThis(L, type)); + + if (string->IsVisible()) { + lua_pushnumber(L, 1.0); + } else { + lua_pushnil(L); + } + + return 1; } int32_t CSimpleFontString_IsShown(lua_State* L) { diff --git a/src/ui/simple/CSimpleRegion.cpp b/src/ui/simple/CSimpleRegion.cpp index aa82007..c33c754 100644 --- a/src/ui/simple/CSimpleRegion.cpp +++ b/src/ui/simple/CSimpleRegion.cpp @@ -49,6 +49,10 @@ bool CSimpleRegion::IsShown() { return this->m_shown == 1; } +bool CSimpleRegion::IsVisible() { + return this->m_visible == 1; +} + void CSimpleRegion::OnColorChanged(bool a2) { if (this->m_parent) { uint8_t effectiveAlpha = this->m_parent->m_alpha * this->m_parent->alphaBD / 255; diff --git a/src/ui/simple/CSimpleRegion.hpp b/src/ui/simple/CSimpleRegion.hpp index 6c56534..733834a 100644 --- a/src/ui/simple/CSimpleRegion.hpp +++ b/src/ui/simple/CSimpleRegion.hpp @@ -32,6 +32,7 @@ class CSimpleRegion : public CScriptRegion { void Hide(); void HideThis(); bool IsShown(); + bool IsVisible(); void OnRegionChanged(); void SetVertexColor(const CImVector& color); void SetVertexGradient(ORIENTATION orientation, const CImVector& minColor, const CImVector& maxColor);