37 lines
		
	
	
		
			899 B
		
	
	
	
		
			C#
		
	
	
	
	
	
		
		
			
		
	
	
			37 lines
		
	
	
		
			899 B
		
	
	
	
		
			C#
		
	
	
	
	
	
| 
								 | 
							
								using UnrealSharp.Engine;
							 | 
						||
| 
								 | 
							
								using UnrealSharp.Attributes;
							 | 
						||
| 
								 | 
							
								using UnrealSharp.BusyRabbit;
							 | 
						||
| 
								 | 
							
								using UnrealSharp.UMG;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace UI.Level.StateBar;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[UClass]
							 | 
						||
| 
								 | 
							
								public class UBusyWidgetSatietyBar : UPW_MinimalWidget
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    protected UProgressBar? SatietyBar { get { return GetWidget("SatietyBar") as UProgressBar; } }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    protected float CurrSatiety;
							 | 
						||
| 
								 | 
							
								    protected float MaxSatiety;
							 | 
						||
| 
								 | 
							
								    public void SetSatietyConfig(float CurrSatiety, float MaxSatiety)
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        this.MaxSatiety = MaxSatiety;
							 | 
						||
| 
								 | 
							
								        this.CurrSatiety = CurrSatiety;
							 | 
						||
| 
								 | 
							
								        RefreshDisplay();
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public void OnSatietyChanged(float CurSatiety)
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        this.CurrSatiety = CurSatiety;
							 | 
						||
| 
								 | 
							
								        RefreshDisplay();
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public void RefreshDisplay()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        float Percent = MaxSatiety > 0 ? CurrSatiety / MaxSatiety : 0;
							 | 
						||
| 
								 | 
							
								        if (SatietyBar != null)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            SatietyBar.Percent = Percent;
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 |