71
									
								
								Script/ManagedBusyRabbit/UI/Level/StateBar/BusyHealthBar.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								Script/ManagedBusyRabbit/UI/Level/StateBar/BusyHealthBar.cs
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,71 @@ | ||||
| using UnrealSharp.Attributes; | ||||
| using UnrealSharp.BusyRabbit; | ||||
| using UnrealSharp.UMG; | ||||
| namespace UI.Level.StateBar; | ||||
|  | ||||
|  | ||||
| [UClass] | ||||
| public class UBusyWidgetHealthBar : UPW_MinimalWidget | ||||
| { | ||||
|     [UProperty(PropertyFlags.EditAnywhere)] | ||||
|     public float Percent { get; set; } | ||||
|  | ||||
|     [UProperty(PropertyFlags.EditAnywhere)] | ||||
|     public float Test { get; set; } | ||||
|  | ||||
|  | ||||
|     protected UProgressBar? HpBarHurt { get { return GetWidget("HpBarHurt") as UProgressBar; } } | ||||
|     protected UProgressBar? HpBarHealth { get { return GetWidget("HpBarHealth") as UProgressBar; } } | ||||
|     protected UProgressBar? HpBarNormal { get { return GetWidget("HpBarNormal") as UProgressBar; } } | ||||
|     protected USizeBox ? SizeboxMain { get { return GetWidget("SizeboxMain") as USizeBox; } } | ||||
|  | ||||
|     [UProperty(PropertyFlags.EditAnywhere)] | ||||
|     public float MaxHp { get; set; } | ||||
|  | ||||
|     [UProperty(PropertyFlags.EditAnywhere)] | ||||
|     public float CurHp { get; set; } | ||||
|  | ||||
|     [UProperty(PropertyFlags.EditAnywhere)] | ||||
|     public float Width { get; set; } | ||||
|  | ||||
|     [UProperty(PropertyFlags.EditAnywhere)] | ||||
|     public float Height { get; set; } | ||||
|  | ||||
|     protected float LastHp = 200; | ||||
|  | ||||
|  | ||||
|     public override void PreConstruct(bool isDesignTime) | ||||
|     { | ||||
|         SetHpConfig(CurHp, MaxHp); | ||||
|         RefreshHealthBarDisplay(); | ||||
|     } | ||||
|  | ||||
|     public override void Construct() | ||||
|     { | ||||
|         base.Construct(); | ||||
|         SetHpConfig(180, 200); | ||||
|     } | ||||
|  | ||||
|     public void SetHpConfig(float CurHp, float MaxHp) | ||||
|     { | ||||
|         LastHp = CurHp; | ||||
|         this.CurHp = CurHp; | ||||
|         this.MaxHp = MaxHp; | ||||
|         RefreshHealthBarDisplay(); | ||||
|     } | ||||
|  | ||||
|  | ||||
|     protected void RefreshHealthBarDisplay() | ||||
|     { | ||||
|         if (HpBarHealth == null || HpBarHurt == null || HpBarNormal == null || SizeboxMain == null) | ||||
|         { | ||||
|             return; | ||||
|         } | ||||
|         HpBarHurt.Visibility = ESlateVisibility.Collapsed; | ||||
|         HpBarHealth.Visibility = ESlateVisibility.Collapsed; | ||||
|         HpBarNormal.Percent = MaxHp != 0 ? (CurHp / MaxHp) : 0; | ||||
|         SizeboxMain.WidthOverride = Width; | ||||
|         SizeboxMain.HeightOverride = Height; | ||||
|     } | ||||
|  | ||||
| } | ||||
		Reference in New Issue
	
	Block a user