refactor #1
This commit is contained in:
@@ -17,8 +17,7 @@
|
||||
const u16 FLOORS_COUNT = 144; // Temp change it also in floor_manager.hpp
|
||||
|
||||
Floors::Floors(Engine *t_engine)
|
||||
: engine(t_engine), floorManager(FLOORS_COUNT),
|
||||
player(&t_engine->audio), camera(&t_engine->screen)
|
||||
: engine(t_engine), floorManager(), camera(&t_engine->screen)
|
||||
{
|
||||
audioTicks = 0;
|
||||
skip1Beat = 0;
|
||||
@@ -28,6 +27,8 @@ Floors::~Floors()
|
||||
{
|
||||
delete enemy;
|
||||
delete ui;
|
||||
delete floorManager;
|
||||
delete player;
|
||||
}
|
||||
|
||||
// ----
|
||||
@@ -41,30 +42,26 @@ void Floors::onInit()
|
||||
engine->audio.addSongListener(this);
|
||||
engine->audio.loadSong("sounds/mafikizolo-loot.wav");
|
||||
engine->audio.playSong();
|
||||
engine->audio.setSongVolume(80);
|
||||
texRepo = engine->renderer->getTextureRepository();
|
||||
enemy = new Enemy(texRepo);
|
||||
ui = new Ui(texRepo);
|
||||
engine->audio.setSongVolume(80);
|
||||
|
||||
texRepo->addByMesh("meshes/player/", player.mesh, BMP);
|
||||
texRepo->addByMesh("meshes/floor/", floorManager.floors[0].mesh, BMP);
|
||||
for (u32 i = 1; i < floorManager.floorAmount; i++)
|
||||
texRepo->getByMesh(floorManager.floors[0].mesh.getId(), floorManager.floors[0].mesh.getMaterial(0).getId())
|
||||
->addLink(floorManager.floors[i].mesh.getId(), floorManager.floors[i].mesh.getMaterial(0).getId());
|
||||
floorManager = new FloorManager(FLOORS_COUNT, texRepo);
|
||||
player = new Player(&engine->audio, texRepo);
|
||||
}
|
||||
|
||||
void Floors::onUpdate()
|
||||
{
|
||||
ui->update(player);
|
||||
enemy->update(floorManager);
|
||||
ui->update(*player);
|
||||
enemy->update(*floorManager);
|
||||
lightManager.update();
|
||||
camera.update(engine->pad, player.mesh);
|
||||
floorManager.update(player);
|
||||
player.update(engine->pad, camera, floorManager, *enemy);
|
||||
engine->renderer->draw(player.mesh);
|
||||
camera.update(engine->pad, player->mesh);
|
||||
floorManager->update(*player);
|
||||
player->update(engine->pad, camera, *floorManager, *enemy);
|
||||
engine->renderer->draw(player->mesh);
|
||||
engine->renderer->draw(enemy->getMeshes(), enemy->getMeshesCount());
|
||||
for (u16 i = 0; i < FLOORS_COUNT; i++)
|
||||
engine->renderer->drawByPath3(floorManager.floors[i].mesh, lightManager.bulbs, lightManager.bulbsCount);
|
||||
engine->renderer->drawByPath3(floorManager->floors[i].mesh, lightManager.bulbs, lightManager.bulbsCount);
|
||||
ui->render(engine->renderer); // 2D rendering ist LAST step, because layers gonna play there.
|
||||
}
|
||||
|
||||
@@ -73,7 +70,7 @@ void Floors::onAudioTick()
|
||||
if ((++audioTicks + 20) % 21 == 0)
|
||||
{
|
||||
if (skip1Beat)
|
||||
floorManager.onAudioTick();
|
||||
floorManager->onAudioTick();
|
||||
lightManager.onAudioTick();
|
||||
skip1Beat = !skip1Beat;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user