コード例 #1
0
 public function _getTroopsList($key)
 {
     $GameMetadata = $GLOBALS['GameMetadata'];
     $m = new BuildModel();
     $returnTroops = array();
     if (trim($this->data[$key]) != "") {
         $t_arr = explode("|", $this->data[$key]);
         foreach ($t_arr as $t_str) {
             $t2_arr = explode(":", $t_str);
             $vid = intval($t2_arr[0]);
             $villageData = NULL;
             if ($vid == 0 - 1) {
                 $vid = $this->data['selected_village_id'];
                 $villageData = array("id" => $vid, "village_name" => $this->data['village_name'], "player_id" => $this->player->playerId, "player_name" => buildings_p_thisvillage);
             } else {
                 $villageData = $m->getVillageData2ById($vid);
             }
             $returnTroops[$vid] = array("villageData" => $villageData, "cropConsumption" => 0, "hasHero" => FALSE, "troops" => array());
             if ($vid == $this->data['selected_village_id']) {
                 $returnTroops[$vid]['hasHero'] = intval($this->data['hero_in_village_id']) == intval($this->data['selected_village_id']);
                 if ($returnTroops[$vid]['hasHero']) {
                     $returnTroops[$vid]['cropConsumption'] += $GameMetadata['troops'][$this->data['hero_troop_id']]['crop_consumption'];
                 }
             }
             $t2_arr = explode(",", $t2_arr[1]);
             foreach ($t2_arr as $t2_str) {
                 $tnum = explode(" ", $t2_str);
                 $tid = explode(" ", $t2_str);
                 list($tid, $tnum) = $tid;
                 if ($tid == 99) {
                     continue;
                 }
                 if ($tnum == 0 - 1) {
                     $tnum = 1;
                     $returnTroops[$vid]['hasHero'] = TRUE;
                 } else {
                     $returnTroops[$vid]['troops'][$tid] = $tnum;
                 }
                 $returnTroops[$vid]['cropConsumption'] += $GameMetadata['troops'][$tid]['crop_consumption'] * $tnum;
             }
         }
     }
     $m->dispose();
     return $returnTroops;
 }