add Engine class
This commit is contained in:
parent
7dc2c9602d
commit
1adae53287
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
build/
|
92
CMakeLists.txt
Normal file
92
CMakeLists.txt
Normal file
@ -0,0 +1,92 @@
|
||||
project(SparrowEngine)
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
if(WIN32)
|
||||
set(SYSTEM_LIB_PATH "win32")
|
||||
else(WIN32)
|
||||
set(SYSTEM_LIB_PATH "linux")
|
||||
endif(WIN32)
|
||||
|
||||
set(LIB_SRC_LIST engine.cpp)
|
||||
|
||||
set(LIBRARY_NAME ${PROJECT_NAME})
|
||||
set(EXECUTABLE_NAME "test${PROJECT_NAME}")
|
||||
|
||||
set(DEPENDENCIES_ROOT ${PROJECT_SOURCE_DIR}/../cpp_dependencies)
|
||||
set(INCLUDE_ROOT ${DEPENDENCIES_ROOT}/include)
|
||||
set(LIB_ROOT ${DEPENDENCIES_ROOT}/lib/${SYSTEM_LIB_PATH})
|
||||
|
||||
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${LIB_ROOT}) #for SHARED
|
||||
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${LIB_ROOT}) #for STATIC
|
||||
|
||||
add_library(${LIBRARY_NAME} STATIC ${LIB_SRC_LIST})
|
||||
add_executable(${EXECUTABLE_NAME} main.cpp)
|
||||
add_definitions(-std=c++11)
|
||||
|
||||
include_directories(
|
||||
${INCLUDE_ROOT}
|
||||
)
|
||||
|
||||
find_library(SFML_LIBRARY_WINDOW
|
||||
NAMES
|
||||
sfml-window
|
||||
PATHS
|
||||
${LIB_ROOT}
|
||||
)
|
||||
|
||||
find_library(SFML_LIBRARY_SYSTEM
|
||||
NAMES
|
||||
sfml-system
|
||||
PATHS
|
||||
${LIB_ROOT}
|
||||
)
|
||||
|
||||
find_library(SPARROW_RENDERER_LIBRARY
|
||||
NAMES
|
||||
sparrowrenderer
|
||||
PATHS
|
||||
${LIB_ROOT}
|
||||
)
|
||||
|
||||
find_library(SPARROW_INPUT_LIBRARY
|
||||
NAMES
|
||||
SparrowInput
|
||||
PATHS
|
||||
${LIB_ROOT}
|
||||
)
|
||||
|
||||
find_library(BULLET_COLLISION_LIBRARY
|
||||
NAMES
|
||||
BulletCollision
|
||||
PATHS
|
||||
${LIB_ROOT}
|
||||
)
|
||||
|
||||
find_library(BULLET_DYNAMICS_LIBRARY
|
||||
NAMES
|
||||
BulletDynamics
|
||||
PATHS
|
||||
${LIB_ROOT}
|
||||
)
|
||||
|
||||
find_library(LINEAR_MATH_LIBRARY
|
||||
NAMES
|
||||
LinearMath
|
||||
PATHS
|
||||
${LIB_ROOT}
|
||||
)
|
||||
|
||||
target_link_libraries(
|
||||
${LIBRARY_NAME}
|
||||
${SFML_LIBRARY_WINDOW}
|
||||
${SFML_LIBRARY_SYSTEM}
|
||||
${SPARROW_INPUT_LIBRARY}
|
||||
)
|
||||
# ${SPARROW_RENDERER_LIBRARY}
|
||||
# ${BULLET_COLLISION_LIBRARY}
|
||||
# ${}BULLET_DYNAMICS_LIBRARY
|
||||
# ${LINEAR_MATH_LIBRARY}
|
||||
target_link_libraries(
|
||||
${EXECUTABLE_NAME}
|
||||
${LIBRARY_NAME}
|
||||
)
|
41
engine.cpp
Normal file
41
engine.cpp
Normal file
@ -0,0 +1,41 @@
|
||||
|
||||
#include "engine.h"
|
||||
//#include "bullet/btBulletCollisionCommon.h"
|
||||
//#include "bullet/btBulletDynamicsCommon.h"
|
||||
|
||||
Engine::Engine(Input* _input): input(_input)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void Engine::update()
|
||||
{
|
||||
//update time variable
|
||||
lastTimeStamp = timeStamp;
|
||||
timeStamp = (unsigned int) clock.getElapsedTime().asMilliseconds();
|
||||
//update Events
|
||||
input->updateEvents();
|
||||
|
||||
render();
|
||||
updatePhysics();
|
||||
}
|
||||
|
||||
void Engine::render()
|
||||
{
|
||||
//call to SparrowRenderer
|
||||
}
|
||||
|
||||
void Engine::updatePhysics()
|
||||
{
|
||||
//update world
|
||||
}
|
||||
|
||||
unsigned int Engine::getTime()
|
||||
{
|
||||
return timeStamp;
|
||||
}
|
||||
|
||||
unsigned int Engine::getDeltaTime()
|
||||
{
|
||||
return timeStamp - lastTimeStamp;
|
||||
}
|
25
engine.h
Normal file
25
engine.h
Normal file
@ -0,0 +1,25 @@
|
||||
#ifndef ENGINE_H
|
||||
#define ENGINE_H
|
||||
|
||||
#include "SparrowInput/input.h"
|
||||
|
||||
class Engine{
|
||||
public:
|
||||
Engine(Input* _input);
|
||||
//main function
|
||||
void update();
|
||||
void render();
|
||||
void updatePhysics();
|
||||
|
||||
//utils function
|
||||
unsigned int getTime();
|
||||
unsigned int getDeltaTime();
|
||||
|
||||
private:
|
||||
Input* input;
|
||||
sf::Clock clock;
|
||||
unsigned int timeStamp = 0;
|
||||
unsigned int lastTimeStamp = 0;
|
||||
};
|
||||
|
||||
#endif
|
Loading…
x
Reference in New Issue
Block a user