38 lines
915 B
C++

// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "ProjectFish/Definations.h"
#include "UObject/Interface.h"
#include "SkillEffect.generated.h"
// This class does not need to be modified.
UCLASS(BlueprintType)
class USkillEffect : public UObject
{
GENERATED_BODY()
public:
void InitSkillEffect(class USkill* skill, FSkillEffectData data);
virtual void Execute(const FSkillContext& context) ;
virtual void EffectEnded(const FSkillContext& context);
TArray<UObject*> GetApplyTargets(const FSkillContext& context);
UFUNCTION(BlueprintPure)
virtual FString GetSkillEffectDes();
FSkillEffectData& GetEffectData()
{
return effectData;
}
private:
void GetEffectTargetsByTargetType(const FSkillContext& context, TArray<UObject*>& result);
protected:
UPROPERTY()
class USkill* OwnerSkill;
FSkillEffectData effectData;
};