完善技能释放log

This commit is contained in:
997146918 2025-06-23 13:52:35 +08:00
parent bfd4cd64c2
commit 377eff645b
4 changed files with 18 additions and 5 deletions

View File

@ -104,7 +104,8 @@ void USkill::ApplyRemainingTimeOffset(int timeOffset)
void USkill::ApplyRemainingRemainingEnduranceOffset(int Offset) void USkill::ApplyRemainingRemainingEnduranceOffset(int Offset)
{ {
this->RemainingEndurance = FMath::Max(this->RemainingEndurance + Offset, SkillData.Endurance); if (SkillData.Endurance != -1)
this->RemainingEndurance = FMath::Max(this->RemainingEndurance + Offset, SkillData.Endurance);
} }
class APawnWithSkill* USkill::GetOwner() class APawnWithSkill* USkill::GetOwner()

View File

@ -21,11 +21,23 @@ void USkillEffect::Execute(const FSkillContext& context)
FString strTargets; FString strTargets;
for (auto target: targets) for (auto target: targets)
{ {
strTargets += "|" + target->GetName(); if (target->GetClass()->IsChildOf(APawnWithSkill::StaticClass()))
{
strTargets += (Cast<APawnWithSkill>(target))->GetActorNameOrLabel() +"|" ;
}
else
{
strTargets += (Cast<USkill>(target))->GetSkillData().SkillName.ToString() + "|" ;
}
} }
const UEnum* EnumPtr = StaticEnum<ESkillEffectType>(); const UEnum* EnumPtr = StaticEnum<ESkillEffectType>();
FString type = EnumPtr->GetNameStringByValue(static_cast<int64>(effectData.EffectType)) ; FString type = EnumPtr->GetNameStringByValue(static_cast<int64>(effectData.EffectType)) ;
UE_LOG(LogTemp, Log, TEXT("针对目标 %s 释放技能效果%s"), *strTargets, *type);
UE_LOG(LogTemp, Warning, TEXT("技能:%s 目标: %s 效果: %s")
, *OwnerSkill->GetSkillData().SkillName.ToString()
,*strTargets
, *( GetSkillEffectDes()));
} }
void USkillEffect::EffectEnded() void USkillEffect::EffectEnded()
@ -160,7 +172,7 @@ void USkillEffect::GetEffectTargetsByTargetType(const FSkillContext& context, TA
//所有当前技能右侧的技能 //所有当前技能右侧的技能
TArray< USkill*> allSkills = context.SkillManager->GetAllSkills(); TArray< USkill*> allSkills = context.SkillManager->GetAllSkills();
int32 index = allSkills.Find(OwnerSkill); int32 index = allSkills.Find(OwnerSkill);
for (int i = index; i < allSkills.Num(); ++i) for (int i = index + 1; i < allSkills.Num(); ++i)
{ {
if (allSkills[i]->GetOwner() == OwnerSkill->GetOwner()) if (allSkills[i]->GetOwner() == OwnerSkill->GetOwner())
result.Add(allSkills[i]); result.Add(allSkills[i]);

View File

@ -27,7 +27,7 @@ void USkillEffect_ModifySpeed::Execute(const FSkillContext& context)
GetWorld()->GetTimerManager().SetTimer(TimerHandle, [&]() GetWorld()->GetTimerManager().SetTimer(TimerHandle, [&]()
{ {
UE_LOG(LogTemp, Warning, TEXT("取消CD充能效果")); UE_LOG(LogTemp, Log, TEXT("取消CD充能效果"));
skill->GetSkillData().Speed = 1; skill->GetSkillData().Speed = 1;
}, UKismetStringLibrary::Conv_StringToInt(effectData.ParamAddition), false); // 单次触发 }, UKismetStringLibrary::Conv_StringToInt(effectData.ParamAddition), false); // 单次触发