MIR Engine
미래 지향 설계에 초점을 맞춘 자체 제작 게임 엔진
로딩중...
검색중...
일치하는것 없음
MIR::World 클래스 참조

ECS 아키텍처에서 시스템들을 관리하고, 게임 월드 상태를 업데이트/렌더링하는 클래스 더 자세히 ...

#include <World.hpp>

Public 멤버 함수

 World ()=default
 기본 생성자
 
void Update (ECS::Manager &manager, const float dt)
 매 프레임마다 호출되어 게임 상태를 갱신하는 메서드
 
void Render (ECS::Manager &manager, sf::RenderWindow &window)
 매 프레임 렌더링 단계에서 호출되어 그래픽을 그리는 메서드
 
template<typename T >
void AddSystem ()
 새로운 시스템을 동적으로 추가하는 템플릿 메서드
 

상세한 설명

ECS 아키텍처에서 시스템들을 관리하고, 게임 월드 상태를 업데이트/렌더링하는 클래스

World 클래스는 ECSManager(엔티티와 컴포넌트 관리)와 여러 시스템(System)들을 연계. Update 메서드를 통해 물리, AI, 애니메이션 등 다양한 시스템 로직을 실행하고, Render 메서드를 통해 그래픽 출력과 관련된 시스템 호출. 또한 AddSystem 템플릿 메서드를 통해 런타임에 다양한 시스템을 동적으로 추가.

생성자 & 소멸자 문서화

◆ World()

MIR::World::World ( )
default

기본 생성자

초기 상태에서는 어떤 시스템도 추가되지 않은 빈 상태.

멤버 함수 문서화

◆ AddSystem()

template<typename T >
void MIR::World::AddSystem ( )
inline

새로운 시스템을 동적으로 추가하는 템플릿 메서드

템플릿 파라메터
T추가할 시스템 클래스 타입 (System 인터페이스를 상속해야 함)

런타임에 시스템 인스턴스를 생성하고 systems 벡터에 보관. 이후 Update, Render 호출 시 해당 시스템도 함께 처리.

84 {
85 std::unique_ptr<T> system = std::make_unique<T>();
86 systems.emplace_back(std::move(system));
87 }

◆ Render()

void MIR::World::Render ( ECS::Manager & manager,
sf::RenderWindow & window )

매 프레임 렌더링 단계에서 호출되어 그래픽을 그리는 메서드

매개변수
manager엔티티와 컴포넌트를 관리하는 ECS::Manager
windowSFML의 렌더 윈도우

이 메서드는 등록된 모든 시스템 중 렌더링 관련 로직을 수행하는 시스템을 호출하여 화면에 엔티티 그래픽, UI 요소 등을 그림.

◆ Update()

void MIR::World::Update ( ECS::Manager & manager,
const float dt )

매 프레임마다 호출되어 게임 상태를 갱신하는 메서드

매개변수
manager엔티티와 컴포넌트를 관리하는 ECS::Manager
dt델타 타임(초 단위), 현재 프레임에서 지난 프레임까지의 시간 간격

이 메서드는 등록된 모든 시스템의 Update 로직을 호출하여 엔티티 상태를 변화시키거나, 물리 연산 및 AI 판단 등을 수행.


이 클래스에 대한 문서화 페이지는 다음의 파일로부터 생성되었습니다.: