KLingo Project Documentation 1.0.0
Unreal Engine 5.6 C++ Project Documentation
로딩중...
검색중...
일치하는것 없음
FoodCourtManager.h
이 파일의 문서화 페이지로 가기
1// Copyright (c) 2025 Doppleddiggong. All rights reserved. Unauthorized copying, modification, or distribution of this file, via any medium is strictly prohibited. Proprietary and confidential.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "Delegates/Delegate.h"
7#include "GameFramework/Actor.h"
8#include "FoodCourtManager.generated.h"
9
10/*
11 * 파싱 받은 데이터를 각 식당과 음식에 배정
12 */
13UCLASS()
14class ONEPIECE_API AFoodCourtManager : public AActor
15{
16 GENERATED_BODY()
17
18public:
19 // Sets default values for this actor's properties
21
22protected:
23 // Called when the game starts or when spawned
24 virtual void BeginPlay() override;
25 virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override;
26
27public:
28 // Called every frame
29 virtual void Tick(float DeltaTime) override;
30
31public:
32 //---------------------------------------------------
33 // Dropper
34 //---------------------------------------------------
35
36 UPROPERTY(VisibleAnywhere)
37 class ADropper* Dropper;
38
39 // 빈 음식 액터 스폰
40 void SpawnFoodContainer();
41
42public:
43 //---------------------------------------------------
44 // 선택지 스폰
45 //---------------------------------------------------
46
47 UPROPERTY()
48 TArray<AActor*> SpawnedListenAnswers;
49
50 // 듣기 선택지 스폰 및 데이터 전달
51 void SpawnListenAnswer();
52 // 첫번째 스폰 위치 기준으로 나머지 스폰 위치 구하기
53 void GetCurrentSpawnLocation(int32 Index, FVector InitialLocation, int32 Dir,
54 FVector& OutSpawnLocation);
55
56protected:
57 UPROPERTY(EditDefaultsOnly, Category = "Item")
58 TSubclassOf<class AListenAnswer> ListenAnswerClass;
59
60 // 음식 선택지 스폰 위치
61 UPROPERTY(EditAnywhere, Category = "Spawn")
62 FVector FoodSpawnLocation = FVector(2074.407733,-5199.513819,-4559.096513);
63
64 // 도시 선택지 스폰 위치
65 UPROPERTY(EditAnywhere, Category = "Spawn")
66 FVector CitySpawnLocation = FVector(1064.733696,-5547.531142,-4124.149377);
67
68 // 스폰 간격
69 UPROPERTY(EditAnywhere, Category = "Spawn")
70 float SpawnDistance = 150.f;
71
72 // Food Class
73 UPROPERTY(EditAnywhere, Category = "Food")
74 TSubclassOf<AActor> FoodClass;
75
76public:
77 // 스폰된 요소들 텍스트 없애기
78 void DisableAllListenAnswersText();
79
80private:
81 //---------------------------------------------------
82 // Handler
83 //---------------------------------------------------
84
85 UFUNCTION()
86 void HandleQuestScenarioDataUpdated();
87};