From 4c73347244a51bdd3f25e751afe641664e56ca3f Mon Sep 17 00:00:00 2001 From: Kelly Rauchenberger Date: Sat, 23 Feb 2019 15:37:53 -0500 Subject: Entities to be rendered are sorted by render layer Partially just for fun. --- src/simulation.cpp | 77 ++++++++++++++++++++++++++---------------------------- 1 file changed, 37 insertions(+), 40 deletions(-) (limited to 'src/simulation.cpp') diff --git a/src/simulation.cpp b/src/simulation.cpp index 27ac6ab..98687b6 100644 --- a/src/simulation.cpp +++ b/src/simulation.cpp @@ -8,7 +8,44 @@ Simulation::Simulation( const Level& level) : level_(level) { + id_type trainId = emplaceEntity(); + Entity& train = getEntity(trainId); + train.size = TILE_SIZE; + train.speed = schedule_.getBPS() * 2.0; + train.colliderType = ColliderType::train; + train.scheduled = true; + train.colorVal = 90; + train.gridPos = vec2s { 6, 1 }; + train.moveDir = Direction::left; + id_type playerId = emplaceEntity(); + Entity& player = getEntity(playerId); + player.size = TILE_SIZE; + player.speed = 3.0; + player.controllable = true; + player.colliderType = ColliderType::player; + player.colorVal = 180; + player.gridPos = vec2s { 1, 5 }; + + id_type crateId = emplaceEntity(); + Entity& crate = getEntity(crateId); + crate.size = TILE_SIZE; + crate.speed = schedule_.getBPS() * 2.0; + crate.colliderType = ColliderType::crate; + crate.canBePushedBy.insert(ColliderType::player); + crate.canBePushedBy.insert(ColliderType::crate); + crate.canBePushedBy.insert(ColliderType::train); + crate.gridPos = vec2s { 4, 5 }; + + id_type crateId2 = emplaceEntity(); + Entity& crate2 = getEntity(crateId2); + crate2.size = TILE_SIZE; + crate2.speed = schedule_.getBPS() * 2.0; + crate2.colliderType = ColliderType::crate; + crate2.canBePushedBy.insert(ColliderType::player); + crate2.canBePushedBy.insert(ColliderType::crate); + crate2.canBePushedBy.insert(ColliderType::train); + crate2.gridPos = vec2s { 6, 7 }; id_type trackId = emplaceEntity(); Entity& track = getEntity(trackId); @@ -49,46 +86,6 @@ Simulation::Simulation( track4.trackDir2 = Direction::down; track4.colorVal = 130; track4.gridPos = vec2s { 7, 1 }; - - - id_type trainId = emplaceEntity(); - Entity& train = getEntity(trainId); - train.size = TILE_SIZE; - train.speed = schedule_.getBPS() * 2.0; - train.colliderType = ColliderType::train; - train.scheduled = true; - train.colorVal = 90; - train.gridPos = vec2s { 6, 1 }; - train.moveDir = Direction::left; - - id_type playerId = emplaceEntity(); - Entity& player = getEntity(playerId); - player.size = TILE_SIZE; - player.speed = 3.0; - player.controllable = true; - player.colliderType = ColliderType::player; - player.colorVal = 180; - player.gridPos = vec2s { 1, 5 }; - - id_type crateId = emplaceEntity(); - Entity& crate = getEntity(crateId); - crate.size = TILE_SIZE; - crate.speed = schedule_.getBPS() * 2.0; - crate.colliderType = ColliderType::crate; - crate.canBePushedBy.insert(ColliderType::player); - crate.canBePushedBy.insert(ColliderType::crate); - crate.canBePushedBy.insert(ColliderType::train); - crate.gridPos = vec2s { 4, 5 }; - - id_type crateId2 = emplaceEntity(); - Entity& crate2 = getEntity(crateId2); - crate2.size = TILE_SIZE; - crate2.speed = schedule_.getBPS() * 2.0; - crate2.colliderType = ColliderType::crate; - crate2.canBePushedBy.insert(ColliderType::player); - crate2.canBePushedBy.insert(ColliderType::crate); - crate2.canBePushedBy.insert(ColliderType::train); - crate2.gridPos = vec2s { 6, 7 }; } void Simulation::tick( -- cgit 1.4.1