캐릭터 Stats 구조체 구현

  • 처음에는 가장 베이스가 될 COECharacter클래스에 CharacterStats에 관련된 변수를 선언하려 하였으나 구초체로 구현하는 것이 더 적합할 것이라는 판단에 구현하던중 여러 Character 및 Enemy 클래스에서 활용하기에는 구조체 클래스를 하나 만드는 것이 적합하다는 판단에 FCharacterStats 클래스를 만들기로 결정 앞의 F는 언리얼 명명체계임

FCharacterStats 클래스 생성을위해 빈 C++클래스 생성

  • 생성된 FCharacterStats.h에서 #include "CoreMinimal.h" #include "FCharacterStats.generated.h" 두개 만 남기고 다 삭제한다음 아래코드로 작성 #include "클래스명.generated.h" 가 가장 마지막에 선언되지않으면 빌드에 문제가 생김 
    → 몰라서 다른 문제인지 찾아보다가 GPT에서 알려줘서 고침
// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "CoreMinimal.h"
#include "FCharacterStats.generated.h"

/**
 * 
 */
USTRUCT(BlueprintType)
struct FCharacterStats
{
	GENERATED_BODY()

public:
	
	/** HPMAX */
	UPROPERTY(BlueprintReadOnly, Category = "Status")
	float MAXHP;

	/** HP */
	UPROPERTY(BlueprintReadOnly, Category = "Status")
	float CurrentHP;

	/** Vitality */
	UPROPERTY(BlueprintReadOnly, Category = "Status")
	float Vitality;

	/** AttackPower */
	UPROPERTY(BlueprintReadOnly, Category = "Status")
	float AttackPower;

	/** Defense */
	UPROPERTY(BlueprintReadOnly, Category = "Status")
	float Defense;

	/** Agility */
	UPROPERTY(BlueprintReadOnly, Category = "Status")
	float Agility;

	/** Luck */
	UPROPERTY(BlueprintReadOnly, Category = "Status")
	float Luck;
};

//COECharacter 클래스에서 사용하기 위해 COECharacter.h에 #include "FCharacterStats.h" 추가
#include "CoreMinimal.h"
#include "GameFramework/Character.h"
#include "Logging/LogMacros.h"
#include "FCharacterStats.h"
#include "COECharacter.generated.h" //각 클래스의 generate.h가 가장 마지막에 선언 되어야함

 

' > 포트폴리오' 카테고리의 다른 글

포트폴리오 log #6  (0) 2025.08.05
포트폴리오 log #5  (2) 2025.07.31
포트폴리오 log #3  (0) 2025.07.16
포트폴리오 log #2  (0) 2025.07.15
포트폴리오 log #1  (0) 2025.07.11

+ Recent posts