更新鱼竿数据的运行时读取
This commit is contained in:
parent
626fb973e4
commit
7790344f1a
Binary file not shown.
@ -6,6 +6,7 @@
|
||||
#include "EngineUtils.h"
|
||||
#include "ProjectFish/Definations.h"
|
||||
#include "ProjectFish/PawnWithSkill.h"
|
||||
#include "ProjectFish/Subsystem/FishingRodConfigSubsystem.h"
|
||||
|
||||
|
||||
// Sets default values for this component's properties
|
||||
@ -71,8 +72,13 @@ void UFishingRodComponent::BeginPlay()
|
||||
});
|
||||
|
||||
}
|
||||
//更新鱼竿槽位配置
|
||||
UWorld* World = GetWorld();
|
||||
UGameInstance* GameInstance = World->GetGameInstance();
|
||||
FishRodData.BagConfig = GameInstance->GetSubsystem<UFishingRodConfigSubsystem>()->GetFishingRodInventory();
|
||||
// ...
|
||||
Super::BeginPlay();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -53,26 +53,27 @@ void USkillManager::AddPawn(class APawnWithSkill* Pawn, FIntPoint BagSize)
|
||||
void USkillManager::AddBagWithSkills(UBagConfigAsset* Bag, APawnWithSkill* Pawn, TArray<USkill*>& SkillObjects,
|
||||
TArray<FIntPoint>& BagPositions)
|
||||
{
|
||||
FIntPoint BagSize = *PawnInfo.Find(Pawn);
|
||||
TMap<FIntPoint, int32>* states = PawnBagState.Find(Pawn);
|
||||
for (auto PlacedSkill: Bag->PlacedSkills)
|
||||
if (IsValid(Bag))
|
||||
{
|
||||
USkill* skill = NewObject<USkill>(this);
|
||||
skill->InitSkill(Pawn, this, PlacedSkill);
|
||||
SkillObjects.Add(skill);
|
||||
BagPositions.Add(FIntPoint(PlacedSkill.PositionX, PlacedSkill.PositionY));
|
||||
Skills.Add(skill);
|
||||
//设置占用状态
|
||||
for (int x = PlacedSkill.PositionX; x < PlacedSkill.PositionX + PlacedSkill.GetSkillSize().X; x++)
|
||||
FIntPoint BagSize = *PawnInfo.Find(Pawn);
|
||||
TMap<FIntPoint, int32>* states = PawnBagState.Find(Pawn);
|
||||
for (auto PlacedSkill: Bag->PlacedSkills)
|
||||
{
|
||||
for (int y = PlacedSkill.PositionY; y < PlacedSkill.PositionY + PlacedSkill.GetSkillSize().Y; y++)
|
||||
USkill* skill = NewObject<USkill>(this);
|
||||
skill->InitSkill(Pawn, this, PlacedSkill);
|
||||
SkillObjects.Add(skill);
|
||||
BagPositions.Add(FIntPoint(PlacedSkill.PositionX, PlacedSkill.PositionY));
|
||||
Skills.Add(skill);
|
||||
//设置占用状态
|
||||
for (int x = PlacedSkill.PositionX; x < PlacedSkill.PositionX + PlacedSkill.GetSkillSize().X; x++)
|
||||
{
|
||||
states->Add(FIntPoint(x, y) , GetSkillIndex(skill));
|
||||
for (int y = PlacedSkill.PositionY; y < PlacedSkill.PositionY + PlacedSkill.GetSkillSize().Y; y++)
|
||||
{
|
||||
states->Add(FIntPoint(x, y) , GetSkillIndex(skill));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
void USkillManager::OnAllSkillAdded()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user