/*public void update_aabb() { m_aabb.LowerBound = target_position + new Vector2( -GameEngine.GAME_WIDTH, -GameEngine.GAME_HEIGHT ) + new Vector2( -MARGIN - width, -MARGIN - height ); m_aabb.UpperBound = target_position + new Vector2( GameEngine.GAME_WIDTH, GameEngine.GAME_HEIGHT ) + new Vector2( width + MARGIN, height + MARGIN ); }*/ public void save_state( String filename ) { //Save data XML_Manager xml_manager = new XML_Manager(); xml_manager.save_resource_linked_list( m_objects, filename ); curr_filename = filename; Console.WriteLine( "Writing to " + filename ); }
// Creates the world, sets the ninja public void create_world( GameWorld g_world, string filename ) { Ninja ninja = new Ninja(); DeathPitController deathcontrol = new DeathPitController( g_world, 120 ); XML_Manager xml_guy = new XML_Manager(); g_world.curr_filename = filename; m_objects = xml_guy.load_resource_linked_list( filename ); foreach ( GameObject g_obj in m_objects ) { g_obj.m_world = g_world; g_obj.add_to_world(); //Handles whether to load GameObjects if they have been destroyed if ( g_obj.m_is_dead ) { } if ( g_obj is FloorTile ) { g_obj.remove_from_world(); } if ( g_obj is Ninja ) { m_ninja = (Ninja)g_obj; NinjaController n_control = new NinjaController( g_obj.m_world, (Ninja)g_obj ); m_ninja_controller = n_control; g_obj.m_world.m_world.AddController( n_control ); g_obj.m_body.Awake = true; g_obj.m_body.Enabled = true; //Makes sure to update target foreach ( Controller control in m_world.ControllerList ) { if ( control is AlienController ) { AlienController alien_control = (AlienController)control; alien_control.m_target = m_ninja; } } } else if ( g_obj is Alien ) { Alien alien = (Alien)g_obj; alien.set_textures(); alien.m_ai_type_change = alien.m_ai_type; m_enemy_count++; } else if ( g_obj is DeathTouch && !( g_obj is MovingDeath ) ) { deathcontrol.addPit( (DeathTouch)g_obj ); } else if ( g_obj is ConditionTriggered ) { ConditionTriggered ob = (ConditionTriggered)g_obj; Color color; switch ( ob.m_condition_type ) { case ConditionTriggered.ConditionType.DEATH: color = Color.CornflowerBlue; break; case ConditionTriggered.ConditionType.NINJA_HAS_ITEM: color = Color.OrangeRed; break; default: color = Color.White; break; } foreach ( TriggerableObject to in ob.m_attached_to ) to.m_tint = color; } } g_world.m_world.AddController( deathcontrol ); }