48 lines
1.1 KiB
C++
48 lines
1.1 KiB
C++
// Fill out your copyright notice in the Description page of Project Settings.
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "ProjectFish/Definations.h"
|
|
|
|
#include "UObject/Object.h"
|
|
#include "SkillManager.generated.h"
|
|
|
|
/**
|
|
*
|
|
*/
|
|
UCLASS(BlueprintType)
|
|
class PROJECTFISH_API USkillManager : public UObject, public FTickableGameObject
|
|
{
|
|
GENERATED_BODY()
|
|
public:
|
|
virtual void Tick(float DeltaTime) override;
|
|
virtual bool IsTickable() const override;
|
|
virtual TStatId GetStatId() const override;
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void InitPawns(TArray<APawnWithSkill*> Pawns);
|
|
UFUNCTION(BlueprintCallable)
|
|
USkill* CreateSkill(FSkillData data, APawnWithSkill* Pawn);
|
|
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void RemoveSkill(class USkill *Skill);
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
TArray<APawnWithSkill*> GetAllPawns();
|
|
|
|
UFUNCTION(BlueprintPure)
|
|
TArray<class USkill*> GetSkillsByOwner(APawnWithSkill* Pawn);
|
|
|
|
UFUNCTION(BlueprintPure)
|
|
TArray<class USkill*> GetAllSkills();
|
|
protected:
|
|
UPROPERTY(BlueprintReadWrite)
|
|
TArray<class USkill *> Skills;
|
|
UPROPERTY(BlueprintReadWrite)
|
|
TArray<class APawnWithSkill *> SkillPawns;
|
|
UPROPERTY(BlueprintReadWrite)
|
|
bool bGameEnd = false;
|
|
};
|