35 lines
		
	
	
		
			863 B
		
	
	
	
		
			Lua
		
	
	
	
	
	
		
		
			
		
	
	
			35 lines
		
	
	
		
			863 B
		
	
	
	
		
			Lua
		
	
	
	
	
	
| 
								 | 
							
								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
							 |