Integrated new content, Fixed Map Collision

This commit is contained in:
2021-01-30 20:14:26 -05:00
parent 3f12951802
commit 697ab6f8fc
35 changed files with 223 additions and 453 deletions

View File

@ -40,9 +40,7 @@ bool Game::isRunning = false;
auto& player(manager.addEntity());
auto& enemy(manager.addEntity());
auto& background(manager.addEntity());
// auto& enemy(manager.addEntity());
// auto& scoreboard(manager.addEntity());
auto& uiInfo(manager.addEntity());
@ -95,12 +93,12 @@ void Game::init(const char *title, int width, int height, bool fullscreen, int g
}
assets->AddTexture("terrain", "assets/textures/tiles/br-tiles.png");
assets->AddTexture("player", "assets/textures/actors/owl_anim.png");
assets->AddTexture("player", "assets/textures/actors/firefighter.png");
// assets->AddTexture("player", "assets/textures/actors/owl_anim.png");
assets->AddTexture("font", "assets/textures/ui/ui-font-cloud-sans.png");
assets->AddTexture("textBox", "assets/textures/ui/ui-element-cloud.png");
assets->AddMusicTrack("simonZ","assets/audio/music/sailing16.ogg");
assets->AddMusicTrack("simonZ","assets/audio/music/sillypuppy.ogg");
assets->AddSoundClip("bwoop","assets/audio/sfx/bwoop.wav");
assets->AddTexture("background","assets/textures/tiles/background-sky.png");
map = new Map("terrain",globalScale,16);
@ -117,18 +115,15 @@ void Game::init(const char *title, int width, int height, bool fullscreen, int g
//ecs implementation
map->LoadMap("assets/maps/br-map.txt",60,25, globalScale);
map->LoadMap("assets/maps/br-map.txt",70,45, globalScale);
player.addComponent<TransformComponent>(50*globalScale,50*globalScale,40,40,globalScale);
player.addComponent<SpriteComponent>("player", SpriteComponent::spriteAnimation, "assets/textures/actors/owl_anim.json");
player.addComponent<TransformComponent>(150*globalScale,80*globalScale,22,42,globalScale);
// player.addComponent<TransformComponent>(150*globalScale,80*globalScale,40,40,globalScale);
player.addComponent<SpriteComponent>("player", SpriteComponent::spriteAnimation, "assets/textures/actors/firefighter.json");
player.addComponent<KeyboardController>();
player.addComponent<ColliderComponent>("player");
player.addGroup(groupPlayers);
background.addComponent<TransformComponent>(0*globalScale,0*globalScale,320,240,globalScale);
background.addComponent<SpriteComponent>("background", SpriteComponent::spriteObject);
background.addGroup(groupObjects);
// enemy.addComponent<TransformComponent>(180*globalScale,180*globalScale,32,32,globalScale);
// enemy.addComponent<SpriteComponent>("robber", SpriteComponent::spriteAnimation, "assets/textures/actors/robberrodent.json");
// enemy.addGroup(groupEnemies);
@ -144,12 +139,12 @@ void Game::init(const char *title, int width, int height, bool fullscreen, int g
auto& tiles(manager.getGroup(Game::groupMap));
auto& players(manager.getGroup(Game::groupPlayers));
auto& colliders(manager.getGroup(Game::groupColliders));
auto& objects(manager.getGroup(Game::groupObjects));
auto& enemies(manager.getGroup(Game::groupEnemies));
// auto& objects(manager.getGroup(Game::groupObjects));
// auto& enemies(manager.getGroup(Game::groupEnemies));
// auto& projectiles(manager.getGroup(Game::groupProjectiles));
auto& gui(manager.getGroup(Game::groupUI_Layer0));
auto& uiText(manager.getGroup(Game::groupUI_Layer1));
auto& backgrounds(manager.getGroup(Game::groupBackground));
void Game::handleEvents()
{
@ -169,11 +164,11 @@ void Game::update()
{
SDL_Rect playerCol = player.getComponent<ColliderComponent>().collider;
Vector2D playerPos = player.getComponent<TransformComponent>().position;
if (Mix_PlayingMusic() == 0)
{
// std::cout << "Play Music Now" << std::endl;
Mix_PlayMusic(assets->GetMusicTrack("simonZ"), -1);
// Mix_PlayMusic(assets->GetMusicTrack("simonZ"), -1);
}
manager.refresh();
@ -214,16 +209,6 @@ void Game::update()
void Game::render()
{
SDL_RenderClear(renderer);
for (auto& b : backgrounds)
{
b->draw();
}
for (auto& o : objects)
{
o->draw();
}
for (auto& t : tiles)
{
@ -236,11 +221,16 @@ void Game::render()
c->draw();
}
}
for (auto& e : enemies)
{
e->draw();
}
// for (auto& o : objects)
// {
// o->draw();
// }
//
// for (auto& e : enemies)
// {
// e->draw();
// }
for (auto& p : players)
{