void Coaster::AddCart() { Cart *cart = new Cart(track); cart->SetMaterial(Material::Pewter()); cart->Scale(0.5); cart->SetVelocity(velocity); cart->SetParentTransform(Angel::Translate(vec4(0.0, 0.0, -cart->GetScaleZ() / 2.0, 0.0))); carts.push_back(cart); if (carts.size() > 1) carts[nextCartPosition++]->SetTrackLocation(nextCartPosition - 1, carts[0]->GetTrackLocation()); else nextCartPosition++; if (rand() % 3 != 0) { Person *person = new Person(); person->Scale(0.5); person->Translate(vec4(0.0, 0.0, -1.0, 0.0)); person->GetInCart(cart); } }