void World::initResource() { // skybox skybox.init("SkyBox", Const::SKYBOX_SIZE); // ring ring.init("Ring", Const::RING_SCALE); // particles Particles::loadResource(); initPlanets(); initShips(); initBullets(); }
WorldTestUnitAi :: WorldTestUnitAi () : m_orrery(), mp_explosion_manager(new ExplosionManager()), m_ring_particle_count(RING_PARTICLE_COUNT_DEFAULT), m_target(ID_TARGET, Vector3::ZERO, Vector3::ZERO, g_ship_list, SHIP_SCALE, 1.0f, 0, TARGET_SPEED_MAX, TARGET_ACCELERATION, TARGET_ROTATION_RATE), m_target_disappear_time(0.0), m_target_shot_count(0), m_target_collision_count(0), m_agent(ID_AGENT, Vector3::ZERO, Vector3::ZERO, g_ship_list, SHIP_SCALE, 1.0f, 0, AGENT_SPEED_MAX, AGENT_ACCELERATION, AGENT_ROTATION_RATE), m_agent_collision_last(PhysicsObjectId::ID_NOTHING), m_agent_collision_count(0), m_agent_ai_time_cumulative(0.0f), m_agent_bullet_count(0), m_next_bullet(0), m_next_simple_marker(0) { assert(isModelsLoaded()); static const Vector3 EPICYCLE1_AXIS = Vector3( 1.0, 4.0, 0.0).getNormalized(); static const Vector3 EPICYCLE2_AXIS = Vector3( 0.0, 3.0, 1.0).getNormalized(); static const Vector3 EPICYCLE5_AXIS = Vector3(-1.0, 0.0, -1.0).getNormalized(); // main circle m_orrery.addEpicycle(Vector3( 0.0, 1.0, 0.0), 3000.0, 0.025, Vector3(0.75, 0.75, 0.75)); // variantions in main m_orrery.addEpicycle(EPICYCLE1_AXIS, 750.0, 0.15, Vector3(0.75, 0.25, 0.75)); m_orrery.addEpicycle(EPICYCLE2_AXIS, 600.0, 0.2, Vector3(0.25, 0.25, 0.75)); // smaller dodging m_orrery.addEpicycle(Vector3(-1.0, 0.0, 0.0), 125.0, 0.5, Vector3(0.25, 0.75, 0.75)); m_orrery.addEpicycle(Vector3( 0.0, 0.0, -1.0), 100.0, 0.8, Vector3(0.25, 0.75, 0.25)); m_orrery.addEpicycle(EPICYCLE5_AXIS, 75.0, 1.0, Vector3(0.75, 0.75, 0.25)); m_orrery.addEpicycle(Vector3( 0.0, -1.0, 0.0), 50.0, 1.25, Vector3(0.75, 0.25, 0.25)); assert(mp_explosion_manager != NULL); mp_explosion_manager->init("Explode1.bmp", 15); initBullets(); reset(); assert(invariant()); }