diff --git a/Project/Binaries/Win64/UnrealEditor-Gasa.dll b/Project/Binaries/Win64/UnrealEditor-Gasa.dll index a9fa863..e91f1b4 100644 Binary files a/Project/Binaries/Win64/UnrealEditor-Gasa.dll and b/Project/Binaries/Win64/UnrealEditor-Gasa.dll differ diff --git a/Project/Binaries/Win64/UnrealEditor-Gasa.pdb b/Project/Binaries/Win64/UnrealEditor-Gasa.pdb index 8bf1354..73f23fb 100644 Binary files a/Project/Binaries/Win64/UnrealEditor-Gasa.pdb and b/Project/Binaries/Win64/UnrealEditor-Gasa.pdb differ diff --git a/Project/Source/Gasa/AbilitySystem/GasaAttributeSet.h b/Project/Source/Gasa/AbilitySystem/GasaAttributeSet.h index 2ff1f77..a612b0b 100644 --- a/Project/Source/Gasa/AbilitySystem/GasaAttributeSet.h +++ b/Project/Source/Gasa/AbilitySystem/GasaAttributeSet.h @@ -143,8 +143,7 @@ public: #pragma region UObject - void GetLifetimeReplicatedProps( TArray< FLifetimeProperty >& OutLifetimeProps ) const override = 0; - ; + void GetLifetimeReplicatedProps( TArray< FLifetimeProperty >& OutLifetimeProps ) const override; #pragma endregion UObject }; diff --git a/Project/Source/Gasa/AbilitySystem/GasaEffectActor.h b/Project/Source/Gasa/AbilitySystem/GasaEffectActor.h index 5650bdf..f315384 100644 --- a/Project/Source/Gasa/AbilitySystem/GasaEffectActor.h +++ b/Project/Source/Gasa/AbilitySystem/GasaEffectActor.h @@ -36,4 +36,4 @@ public: void PostInitializeComponents() override; #pragma endregion Actor -}; \ No newline at end of file +}; diff --git a/Project/Source/Gasa/Game/GasaPlayerState.h b/Project/Source/Gasa/Game/GasaPlayerState.h index 23adb22..47ba22c 100644 --- a/Project/Source/Gasa/Game/GasaPlayerState.h +++ b/Project/Source/Gasa/Game/GasaPlayerState.h @@ -32,7 +32,7 @@ public: FORCEINLINE UAbilitySystemComponent* GetAbilitySystemComponent() const override { return AbilitySystem; } #pragma endregion IAbilitySystem -#pragma region - -#pragma endregion +// #pragma region +// +// #pragma endregion }; diff --git a/Project/Source/Gasa/Gasa.Build.cs b/Project/Source/Gasa/Gasa.Build.cs index f625232..a9e9ee7 100644 --- a/Project/Source/Gasa/Gasa.Build.cs +++ b/Project/Source/Gasa/Gasa.Build.cs @@ -32,6 +32,7 @@ public class Gasa : ModuleRules "InputCore", "NetCore", "Niagara", + "SlateCore", "UMG", }); #endregion Engine diff --git a/Project/Source/Gasa/GasaCommon.h b/Project/Source/Gasa/GasaCommon.h index 03bdf69..36dc8e7 100644 --- a/Project/Source/Gasa/GasaCommon.h +++ b/Project/Source/Gasa/GasaCommon.h @@ -44,6 +44,10 @@ class AGasaPlayerController; class UGasaAbilitySystemComp; class UGasaAttributeSet; class UGasaDevOptions; +class UGasaImage; +class UGasaOverlay; +class UGasaProgressBar; +class UGasaSizeBox; #pragma endregion Forwards #pragma region Logging diff --git a/Project/Source/Gasa/UI/GasaImage.h b/Project/Source/Gasa/UI/GasaImage.h new file mode 100644 index 0000000..0bc99d6 --- /dev/null +++ b/Project/Source/Gasa/UI/GasaImage.h @@ -0,0 +1,12 @@ +#pragma once + +#include "Components/Image.h" + +#include "GasaImage.generated.h" + +UCLASS() +class UGasaImage : public UImage +{ + GENERATED_BODY() +public: +}; diff --git a/Project/Source/Gasa/UI/GasaOverlay.h b/Project/Source/Gasa/UI/GasaOverlay.h new file mode 100644 index 0000000..22f29be --- /dev/null +++ b/Project/Source/Gasa/UI/GasaOverlay.h @@ -0,0 +1,12 @@ +#pragma once +#include "Components/Overlay.h" + +#include "GasaOverlay.generated.h" + +UCLASS() +class GASA_API UGasaOverlay : public UOverlay +{ + GENERATED_BODY() +public: + +}; diff --git a/Project/Source/Gasa/UI/GasaProgressBar.h b/Project/Source/Gasa/UI/GasaProgressBar.h new file mode 100644 index 0000000..81bdd87 --- /dev/null +++ b/Project/Source/Gasa/UI/GasaProgressBar.h @@ -0,0 +1,13 @@ +#pragma once + +#include "Components/ProgressBar.h" + +#include "GasaProgressBar.generated.h" + +UCLASS() +class GASA_API UGasaProgressBar : public UProgressBar +{ + GENERATED_BODY() +public: + +}; diff --git a/Project/Source/Gasa/UI/GasaSizeBox.cpp b/Project/Source/Gasa/UI/GasaSizeBox.cpp new file mode 100644 index 0000000..e69de29 diff --git a/Project/Source/Gasa/UI/GasaSizeBox.h b/Project/Source/Gasa/UI/GasaSizeBox.h new file mode 100644 index 0000000..0be7452 --- /dev/null +++ b/Project/Source/Gasa/UI/GasaSizeBox.h @@ -0,0 +1,16 @@ +#pragma once +#include "Components/SizeBox.h" + +#include "GasaCommon.h" + +#include "GasaSizeBox.generated.h" + + +UCLASS() +class GASA_API UGasaSizeBox : public USizeBox +{ + GENERATED_BODY() + +public: + +}; \ No newline at end of file diff --git a/Project/Source/Gasa/UI/GlobeProgressBar.cpp b/Project/Source/Gasa/UI/GlobeProgressBar.cpp new file mode 100644 index 0000000..10206d5 --- /dev/null +++ b/Project/Source/Gasa/UI/GlobeProgressBar.cpp @@ -0,0 +1,61 @@ +#include "GlobeProgressBar.h" + +#include "GasaImage.h" +#include "GasaProgressBar.h" +#include "GasaSizeBox.h" +#include "Components/OverlaySlot.h" + +// UGlobeProgressBar::UGlobeProgressBar(FObjectInitializer const& ObjectInitializer) +// { +// } + +void UGlobeProgressBar::SetBackgroundStyle(FSlateBrush brush) +{ + BG->SetBrush( brush ); +} + +void UGlobeProgressBar::SetBarPadding(FMargin margin ) +{ + UOverlaySlot* BarSlot = CastChecked(Bar->Slot); + BarSlot->SetPadding( margin ); +} + +void UGlobeProgressBar::SetBarStyle(FProgressBarStyle style) +{ + Bar->SetWidgetStyle( style ); +} + +void UGlobeProgressBar::SetGlassPadding(FMargin margin) +{ + UOverlaySlot* GlassSlot = CastChecked(Glass->Slot); + GlassSlot->SetPadding(margin); +} + +void UGlobeProgressBar::SetGlassStyle(FSlateBrush brush) +{ + Glass->SetBrush(brush); +} + +void UGlobeProgressBar::SetSize(float width, float height) +{ + SizeBox_Root->SetWidthOverride( width ); + SizeBox_Root->SetHeightOverride( height ); +} + +#if 0 +void UGlobeProgressBar::UpdateSize() +{ + +} + +void UGlobeProgressBar::UpdateBackground() +{ +} +#endif + +#pragma region UserWidget +void UGlobeProgressBar::NativePreConstruct() +{ + Super::NativePreConstruct(); +} +#pragma endregion UserWidget diff --git a/Project/Source/Gasa/UI/GlobeProgressBar.h b/Project/Source/Gasa/UI/GlobeProgressBar.h new file mode 100644 index 0000000..0549c42 --- /dev/null +++ b/Project/Source/Gasa/UI/GlobeProgressBar.h @@ -0,0 +1,60 @@ +#pragma once + +#include "GasaCommon.h" +#include "GasaUserWidget.h" + +#include "GlobeProgressBar.generated.h" + +UCLASS() +class GASA_API UGlobeProgressBar : public UGasaUserWidget +{ + GENERATED_BODY() + +public: + UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (BindWidget), Category="Globe") + UGasaSizeBox* SizeBox_Root; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (BindWidget), Category="Globe") + UGasaOverlay* Overlay_Root; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (BindWidget), Category="Globe") + UGasaImage* Glass; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (BindWidget), Category="Globe") + UGasaImage* BG; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (BindWidget), Category="Globe") + UGasaProgressBar* Bar; + + // UGlobeProgressBar(FObjectInitializer const& ObjectInitializer); + + UFUNCTION(BlueprintCallable, Category="Globe") + void SetBackgroundStyle(FSlateBrush brush); + + UFUNCTION(BlueprintCallable, Category="Globe") + void SetBarPadding( FMargin margin ); + + UFUNCTION(BlueprintCallable, Category="Globe") + void SetBarStyle(FProgressBarStyle style); + + UFUNCTION(BlueprintCallable, Category="Globe") + void SetGlassPadding( FMargin margin ); + + UFUNCTION(BlueprintCallable, Category="Globe") + void SetGlassStyle(FSlateBrush brush); + + UFUNCTION(BlueprintCallable, Category="Globe") + void SetSize(float width, float height); + +#if 0 + UFUNCTION(BlueprintCallable, Category="Globe") + void UpdateSize(); + + UFUNCTION(BlueprintCallable, Category="Globe") + void UpdateBackground(); +#endif + +#pragma region UserWidget + void NativePreConstruct() override; +#pragma endregion UserWidget +}; diff --git a/Project/Source/Gasa/UI/ProgressBar.h b/Project/Source/Gasa/UI/ProgressBar.h deleted file mode 100644 index 6da5351..0000000 --- a/Project/Source/Gasa/UI/ProgressBar.h +++ /dev/null @@ -1,9 +0,0 @@ -#pragma once -#include "Components/ProgressBar.h" - - -UCLASS() -class GASA_API UProgressIndicator : public UProgressBar -{ - -}; \ No newline at end of file diff --git a/Project/Source/GasaEditor.Target.cs b/Project/Source/GasaEditor.Target.cs index 0257725..b43742a 100644 --- a/Project/Source/GasaEditor.Target.cs +++ b/Project/Source/GasaEditor.Target.cs @@ -11,8 +11,8 @@ public class GasaEditorTarget : TargetRules DefaultBuildSettings = BuildSettingsVersion.Latest; - bUseUnityBuild = false; - bUseXGEController = false; + // bUseUnityBuild = false; + // bUseXGEController = false; ExtraModuleNames.Add("Gasa"); ExtraModuleNames.Add("GasaEditor"); diff --git a/Project/Source/GasaGen/GasaGen_UGasaAttributeSet.cpp b/Project/Source/GasaGen/GasaGen_UGasaAttributeSet.cpp index 3475567..5126e71 100644 --- a/Project/Source/GasaGen/GasaGen_UGasaAttributeSet.cpp +++ b/Project/Source/GasaGen/GasaGen_UGasaAttributeSet.cpp @@ -63,10 +63,13 @@ void gen_UGasaAttributeSet() body.append( fmt_newline ); body.append( def_pragma( txt("region UObject"))); - body.append( parse_function( code( + CodeFn GetLifetimeOfReplicatedProps = parse_function( code( void GetLifetimeReplicatedProps(TArray& OutLifetimeProps) const override; - ))); + )); + body.append( GetLifetimeOfReplicatedProps ); body.append( def_pragma( txt("endregion UObject"))); + + String test = GetLifetimeOfReplicatedProps.to_string(); } GasaAttributeSet = def_class( class_name, body , type_UAttributeSet, AccessSpec::Public diff --git a/Project/Source/GasaGen/gen.cpp b/Project/Source/GasaGen/gen.cpp index f61b82d..6c3f5db 100644 --- a/Project/Source/GasaGen/gen.cpp +++ b/Project/Source/GasaGen/gen.cpp @@ -2033,7 +2033,7 @@ void CodeFn::to_string_fwd( String& result ) } } - if ( ast->Specs.has( ESpecifier::Pure ) ) + if ( ast->Specs.has( ESpecifier::Pure ) >= 0 ) result.append( " = 0;" ); else if (ast->Body) result.append_fmt( " = %S;", ast->Body.to_string() ); diff --git a/Project/Source/GasaGen/gen.hpp b/Project/Source/GasaGen/gen.hpp index 2768c08..8613334 100644 --- a/Project/Source/GasaGen/gen.hpp +++ b/Project/Source/GasaGen/gen.hpp @@ -1161,7 +1161,7 @@ struct CodeSpecifiers { for ( s32 idx = 0; idx < raw()->NumEntries; idx++ ) { - if ( raw()->ArrSpecs[ raw()->NumEntries ] == spec ) + if ( raw()->ArrSpecs[ idx ] == spec ) return idx; }