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