コード例 #1
0
ファイル: buildings.php プロジェクト: Gritch69/XG-Project
 /**
  * method build_page
  * param
  * return main method, loads everything
  */
 private function build_page()
 {
     $resource = $this->_objects->get_objects();
     $parse = $this->_lang;
     $parse['dpath'] = DPATH;
     $page = '';
     $max_fields = Developments_Lib::max_fields($this->_current_planet);
     // time to do something
     $this->do_command();
     Developments_Lib::set_first_element($this->_current_planet, $this->_current_user);
     $Sprice = array();
     $queue = $this->show_queue($Sprice);
     $this->start_building();
     $full_queue = $queue['lenght'] < MAX_BUILDING_QUEUE_SIZE ? FALSE : TRUE;
     foreach ($this->_lang['tech'] as $building => $building_name) {
         if (in_array($building, $this->_allowed[$this->_current_planet['planet_type']])) {
             $queue['to_destroy'] = isset($queue['to_destroy']) ? $queue['to_destroy'] : 0;
             if ($this->_current_planet['planet_field_current'] < $max_fields - $queue['to_destroy']) {
                 $have_fields = TRUE;
             } else {
                 $have_fields = FALSE;
             }
             if (Developments_Lib::is_development_allowed($this->_current_user, $this->_current_planet, $building)) {
                 $building_level = $this->_current_planet[$resource[$building]];
                 $building_time = Developments_Lib::development_time($this->_current_user, $this->_current_planet, $building, $building_level);
                 $parse['i'] = $building;
                 $parse['nivel'] = Developments_Lib::set_level_format($building_level);
                 $parse['n'] = $building_name;
                 $parse['descriptions'] = $this->_lang['res']['descriptions'][$building];
                 $parse['price'] = Developments_Lib::formated_development_price($this->_current_user, $this->_current_planet, $building, TRUE, $building_level);
                 $parse['time'] = Developments_Lib::formated_development_time($building_time);
                 $parse['click'] = $this->set_action_button($have_fields, $full_queue, $building, $queue);
                 $page .= parent::$page->parse_template(parent::$page->get_template('buildings/buildings_builds_row'), $parse);
             }
         }
     }
     if ($queue['lenght'] > 0) {
         $parse['BuildListScript'] = Developments_Lib::current_building($this->_current_page);
         $parse['BuildList'] = $queue['buildlist'];
     } else {
         $parse['BuildListScript'] = '';
         $parse['BuildList'] = '';
     }
     $parse['BuildingsList'] = $page;
     parent::$page->display(parent::$page->parse_template(parent::$page->get_template('buildings/buildings_builds'), $parse));
 }
コード例 #2
0
 /**
  * updateBuildingsQueue
  *
  * @param array $current_planet Current planet
  * @param array $current_user   Current user
  *
  * @return void
  */
 public static function updateBuildingsQueue(&$current_planet, &$current_user)
 {
     if ($current_planet['planet_b_building_id'] != 0) {
         while ($current_planet['planet_b_building_id'] != 0) {
             if ($current_planet['planet_b_building'] <= time()) {
                 UpdateResourcesLib::updateResource($current_user, $current_planet, $current_planet['planet_b_building'], false);
                 if (self::checkBuildingQueue($current_planet, $current_user)) {
                     Developments_Lib::set_first_element($current_planet, $current_user);
                 }
             } else {
                 break;
             }
         }
     }
 }