Payback 0.0.1
CK Graduation Project
로딩중...
검색중...
일치하는것 없음
ProjectileSpawnSystemComponent.h
이 파일의 문서화 페이지로 가기
1// Fill out your copyright notice in the Description page of Project Settings.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "Components/ActorComponent.h"
8#include "ProjectileSpawnSystemComponent.generated.h"
9
10class AProjectileBase;
12
13
14USTRUCT(NotBlueprintType)
16{
17 GENERATED_BODY()
18
19public:
20 UPROPERTY()
21 TArray<TObjectPtr<AProjectileBase>> Projectiles;
22};
23
24
25//Spawn Hub에서만 사용되는 투사체 스폰 시스템 컴포넌트이다.
26UCLASS(ClassGroup=(Custom), BlueprintType)
27class CK_UE_API UProjectileSpawnSystemComponent : public UActorComponent, public ISpawnSystemInterface
28{
29 GENERATED_BODY()
30
31public:
33
34public:
35 virtual void Initialize(UStageManagementSubsystem* InStageManagementSubsystem) override;
36 virtual void ClearAll(const bool bClearSpawnedActorsToo = true) override;
37 virtual bool IsComponentTickEnabled() const override;
38
39public:
40 AProjectileBase* SpawnProjectile(UObject* Outer, const TSubclassOf<AProjectileBase> ProjectileClass, const FVector& Location, const FRotator& Rotation);
41 void DespawnProjectile(UObject* Outer, AProjectileBase* Projectile);
42
43public:
44 UFUNCTION(BlueprintCallable, Category = "Projectile")
45 int32 GetAllSpawnedProjectileCount() const;
46
47 UFUNCTION(BlueprintCallable, Category = "Projectile")
48 TArray<AProjectileBase*> GetAllSpawnedProjectiles() const;
49
50private:
51 UPROPERTY(Transient)
52 TMap<TObjectPtr<UObject>, FProjectileContainer> ProjectileContainerMap;
53
54 UPROPERTY(Transient)
55 TWeakObjectPtr<UStageManagementSubsystem> StageManagementSystem;
56};
Definition ProjectileBase.h:81
Definition SpawnSystemInterface.h:24
Definition ProjectileSpawnSystemComponent.h:28
Definition StageManagementSubsystem.h:147
Definition ProjectileSpawnSystemComponent.h:16