// Project Lab - NHTV Igad #pragma once #include "Kismet/BlueprintFunctionLibrary.h" #include "EffectFunctionLibrary.generated.h" /** * */ UCLASS() class UNREALPROJECT_API UEffectFunctionLibrary : public UBlueprintFunctionLibrary { GENERATED_BODY() public: UFUNCTION(BlueprintCallable, Category = "Effect", meta = (WorldContext="worldContextObject")) static class AEffect* CreateEffect(UObject* worldContextObject, TSubclassOf effectClass, class AActor* followObject = nullptr, float startTime = 0.0f, float durationOverride = 0.0f, bool clientSideOnly = false); UFUNCTION(BlueprintCallable, Category = "Effect", meta = (WorldContext = "worldContextObject")) static class AEffect* CreateEffectAt(UObject* worldContextObject, TSubclassOf effectClass, const FTransform& transform, float startTime = 0.0f, float durationOverride = 0.0f, bool clientSideOnly = false); UFUNCTION(BlueprintCallable, Category = "Effect", meta = (WorldContext = "worldContextObject")) static class AEffect* CreateEffectAttached(UObject* worldContextObject, TSubclassOf effectClass, const FTransform& transform, USceneComponent* InParent, FName InSocketName, EAttachLocation::Type AttachLocationType, float startTime = 0.0f, float durationOverride = 0.0f, bool clientSideOnly = false); UFUNCTION(BlueprintCallable, Category = "Effect") static class AAbilityIndicator* CreateAbilityIndicator(TSubclassOf AAbilityIndicatorClass, class ANetworkCharacter* spawner, class AActor* followObject, FVector scale, float durationOverride = 0.0f, bool center = true); UFUNCTION(BlueprintCallable, Category = "Effect") static class AAbilityIndicator* CreateAbilityIndicatorAt(TSubclassOf AAbilityIndicatorClass, ANetworkCharacter * spawner, const FTransform& transform, FVector scale, float durationOverride, bool center); UFUNCTION(BlueprintCallable, Category = "Effect", meta = (WorldContext="worldContextObject")) static void PlaySoundEffect2D(UObject* worldContextObject, USoundBase* sound); //from is the character who's skeleton is cloned, to is who gets the cloned skeleton UFUNCTION(BlueprintCallable, Category = "Effect") static void DuplicateAppearance(class ACharacterBase* from, class ACharacterBase* to); };