local _M = {} local GameplayStatics = import("GameplayStatics") function _M.GetGameUIHud(wco) local pc = GameplayStatics.GetPlayerController(wco, 0) if pc == nil then return nil end return pc:GetHud() end function _M.ShowWidget(wco, widget_name, args) local hud = _M.GetGameUIHud(wco) if hud == nil then return end hud:CreateAndShowWidget(widget_name, args) end function _M.GetShowedWidget(wco, widget_name) local hud = _M.GetGameUIHud(wco) if hud == nil then return end hud:GetFirstCachedWidget(widget_name) end function _M.HideWidgetByName(wco, widget_name) local hud = _M.GetGameUIHud(wco) if hud == nil then return end hud:HideWidgetByName(widget_name) end function _M.CloseWidget(widget) local hud = _M.GetGameUIHud(widget) if hud == nil then return end hud:CloseWidget(widget) end return _M