添加鱼竿的技能配置,添加鱼竿的加速技能
This commit is contained in:
parent
ff988535aa
commit
0bed66d5ca
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
ProjectFish/Content/FishingRodSkills/UFRS_TriggerBySKill.uasset
Normal file
BIN
ProjectFish/Content/FishingRodSkills/UFRS_TriggerBySKill.uasset
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -53,7 +53,18 @@ void UFishingRobComponent::BeginPlay()
|
|||||||
Enemy = pawn;
|
Enemy = pawn;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
//初始化鱼竿技能
|
||||||
|
for (auto skill : FishRob.Skills)
|
||||||
|
{
|
||||||
|
UFishingRodSKill_Base* SkillObject = NewObject<UFishingRodSKill_Base>(OwnerPawn, skill.SkillClass);
|
||||||
|
if (SkillObject != nullptr)
|
||||||
|
{
|
||||||
|
FRSkills.Add(SkillObject);
|
||||||
|
SkillObject->Init(OwnerPawn);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
// ...
|
// ...
|
||||||
|
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
#include "CoreMinimal.h"
|
#include "CoreMinimal.h"
|
||||||
#include "Components/ActorComponent.h"
|
#include "Components/ActorComponent.h"
|
||||||
#include "ProjectFish/Definations.h"
|
#include "ProjectFish/Definations.h"
|
||||||
|
#include "ProjectFish/FishingRodSKill_Base.h"
|
||||||
#include "FishingRodComponent.generated.h"
|
#include "FishingRodComponent.generated.h"
|
||||||
|
|
||||||
|
|
||||||
@ -33,4 +34,7 @@ public:
|
|||||||
FFishingRod FishRob;
|
FFishingRod FishRob;
|
||||||
class APawnWithSkill* Enemy;
|
class APawnWithSkill* Enemy;
|
||||||
float CurrentCDTime = 0.f;
|
float CurrentCDTime = 0.f;
|
||||||
|
|
||||||
|
UPROPERTY(BlueprintReadOnly)
|
||||||
|
TArray<UFishingRodSKill_Base*> FRSkills;
|
||||||
};
|
};
|
||||||
|
@ -142,6 +142,7 @@ public:
|
|||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
||||||
FName SkillRowName;
|
FName SkillRowName;
|
||||||
|
|
||||||
};
|
};
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@ -161,8 +162,8 @@ public:
|
|||||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (ToolTip = "鱼竿技能名称"))
|
UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (ToolTip = "鱼竿技能名称"))
|
||||||
FName SkillName;
|
FName SkillName;
|
||||||
|
|
||||||
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (AllowedClasses = "Object", ToolTip = "技能图片"))
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ToolTip = "鱼钩技能"))
|
||||||
FSoftObjectPath SkillObject;
|
TSubclassOf<class UFishingRodSKill_Base> SkillClass;
|
||||||
};
|
};
|
||||||
|
|
||||||
USTRUCT(BlueprintType)
|
USTRUCT(BlueprintType)
|
||||||
|
8
ProjectFish/Source/ProjectFish/FishingRodSKill_Base.cpp
Normal file
8
ProjectFish/Source/ProjectFish/FishingRodSKill_Base.cpp
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
// Fill out your copyright notice in the Description page of Project Settings.
|
||||||
|
|
||||||
|
|
||||||
|
#include "FishingRodSKill_Base.h"
|
||||||
|
|
||||||
|
UFishingRodSKill_Base::UFishingRodSKill_Base()
|
||||||
|
{
|
||||||
|
}
|
22
ProjectFish/Source/ProjectFish/FishingRodSKill_Base.h
Normal file
22
ProjectFish/Source/ProjectFish/FishingRodSKill_Base.h
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
// Fill out your copyright notice in the Description page of Project Settings.
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "CoreMinimal.h"
|
||||||
|
#include "Definations.h"
|
||||||
|
#include "UObject/Object.h"
|
||||||
|
#include "FishingRodSKill_Base.generated.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
UCLASS(Blueprintable)
|
||||||
|
class PROJECTFISH_API UFishingRodSKill_Base : public UObject
|
||||||
|
{
|
||||||
|
GENERATED_BODY()
|
||||||
|
public:
|
||||||
|
UFishingRodSKill_Base();
|
||||||
|
UFUNCTION(BlueprintImplementableEvent)
|
||||||
|
void Init(class APawnWithSkill* Owner);
|
||||||
|
|
||||||
|
};
|
@ -73,6 +73,7 @@ void USkill::TickSkill(float deltaTime)
|
|||||||
Effect->Execute(context);
|
Effect->Execute(context);
|
||||||
}
|
}
|
||||||
RemainingTime = SkillData.CD;
|
RemainingTime = SkillData.CD;
|
||||||
|
OnSkillExecute.Broadcast(SkillData.SkillName.ToString());
|
||||||
}
|
}
|
||||||
if (RemainingEndurance == 0)
|
if (RemainingEndurance == 0)
|
||||||
{
|
{
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
#include "Skill.generated.h"
|
#include "Skill.generated.h"
|
||||||
|
|
||||||
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FSkillUpdate);
|
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FSkillUpdate);
|
||||||
|
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FSkillExecute, FString, SkillName );
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@ -27,7 +27,8 @@ public:
|
|||||||
|
|
||||||
FSkillData& GetSkillData();
|
FSkillData& GetSkillData();
|
||||||
void SetSkillData( FSkillData SkillData);
|
void SetSkillData( FSkillData SkillData);
|
||||||
void ApplyRemainingTimeOffset(int timeOffset);
|
UFUNCTION(BlueprintCallable)
|
||||||
|
void ApplyRemainingTimeOffset(int timeOffset);
|
||||||
void ApplyRemainingRemainingEnduranceOffset(int Offset);
|
void ApplyRemainingRemainingEnduranceOffset(int Offset);
|
||||||
|
|
||||||
UFUNCTION(BlueprintPure)
|
UFUNCTION(BlueprintPure)
|
||||||
@ -35,6 +36,9 @@ public:
|
|||||||
protected:
|
protected:
|
||||||
UPROPERTY(BlueprintAssignable)
|
UPROPERTY(BlueprintAssignable)
|
||||||
FSkillUpdate OnSkillUpdate;
|
FSkillUpdate OnSkillUpdate;
|
||||||
|
UPROPERTY(BlueprintAssignable)
|
||||||
|
FSkillExecute OnSkillExecute;
|
||||||
|
|
||||||
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ToolTip = "技能效果"))
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ToolTip = "技能效果"))
|
||||||
FSkillData SkillData;
|
FSkillData SkillData;
|
||||||
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ToolTip = "技能效果"))
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ToolTip = "技能效果"))
|
||||||
|
@ -47,6 +47,17 @@ TArray<APawnWithSkill*> USkillManager::GetAllPawns()
|
|||||||
return SkillPawns;
|
return SkillPawns;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TArray<class USkill*> USkillManager::GetSkillsByOwner(APawnWithSkill* Pawn)
|
||||||
|
{
|
||||||
|
TArray<class USkill*> skills;
|
||||||
|
for (auto Skill : Skills)
|
||||||
|
{
|
||||||
|
if (Skill->GetOwner() == Pawn)
|
||||||
|
skills.Add(Skill);
|
||||||
|
}
|
||||||
|
return skills;
|
||||||
|
}
|
||||||
|
|
||||||
TArray< USkill*> USkillManager::GetAllSkills()
|
TArray< USkill*> USkillManager::GetAllSkills()
|
||||||
{
|
{
|
||||||
return Skills;
|
return Skills;
|
||||||
|
@ -32,7 +32,10 @@ public:
|
|||||||
UFUNCTION(BlueprintCallable)
|
UFUNCTION(BlueprintCallable)
|
||||||
TArray<APawnWithSkill*> GetAllPawns();
|
TArray<APawnWithSkill*> GetAllPawns();
|
||||||
|
|
||||||
UFUNCTION(BlueprintCallable)
|
UFUNCTION(BlueprintPure)
|
||||||
|
TArray<class USkill*> GetSkillsByOwner(APawnWithSkill* Pawn);
|
||||||
|
|
||||||
|
UFUNCTION(BlueprintPure)
|
||||||
TArray<class USkill*> GetAllSkills();
|
TArray<class USkill*> GetAllSkills();
|
||||||
protected:
|
protected:
|
||||||
UPROPERTY(BlueprintReadWrite)
|
UPROPERTY(BlueprintReadWrite)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user