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; } } }