Finish lecture 82: Implement the World class

Signed-off-by: Daniel Henry <iamdanhenry@gmail.com>
This commit is contained in:
2025-09-02 08:15:18 -05:00
parent 9ca8cd1e25
commit 7d2cd86fd4
15 changed files with 296 additions and 9 deletions

View File

@@ -0,0 +1,21 @@
add_executable(${LIGHT_YEARS_GAME_TARGET_NAME}
${CMAKE_CURRENT_SOURCE_DIR}/include/gameFramework/GameApplication.h
${CMAKE_CURRENT_SOURCE_DIR}/src/gameFramework/GameApplication.cpp
)
target_include_directories(${LIGHT_YEARS_GAME_TARGET_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)
target_link_libraries(${LIGHT_YEARS_GAME_TARGET_NAME} PUBLIC ${LIGHT_YEARS_ENGINE_TARGET_NAME})
function(CopyLibDirToTarget LIB_NAME TARGET_NAME)
add_custom_command(
TARGET ${TARGET_NAME}
POST_BUILD
COMMAND
${CMAKE_COMMAND} -E copy_directory
$<TARGET_FILE_DIR:${LIB_NAME}>
$<TARGET_FILE_DIR:${TARGET_NAME}>
)
endfunction()
CopyLibDirToTarget(${LIGHT_YEARS_ENGINE_TARGET_NAME} ${LIGHT_YEARS_GAME_TARGET_NAME})

View File

@@ -0,0 +1,10 @@
#pragma once
#include <framework/Application.h>
namespace ly {
class GameApplication : public Application {
public:
GameApplication();
};
}

View File

@@ -0,0 +1,13 @@
#include "gameFramework/GameApplication.h"
#include "framework/World.h"
ly::Application* GetApplication() {
return new ly::GameApplication{};
}
namespace ly {
GameApplication::GameApplication()
{
LoadWorld<World>();
}
}