Пример #1
0
 private function RenderQueueRow(BuildingBuildItem $item, $position)
 {
     $vars['build_position_visual'] = $position;
     $vars['build_position_actual'] = $item->PositionInList();
     $vars['building_id'] = $item->ID();
     $vars['building_name'] = $this->_text[$item->Name()];
     $vars['building_level'] = $item->Level();
     $vars['build_item_timer_id'] = $vars['build_position_visual'] . "_" . $item->Name() . "_" . $vars['building_level'];
     $vars['cancel_item'] = $this->_text['cancel_item'];
     if ($position == 1) {
         // The first item is also unmoveable.
         $vars['class_queue_row'] = ' class="nodrop nodrag"';
         $vars['build_time'] = $item->ScheduledTime() * 1000 + $this->_time * 1000;
         $timeparts = explode(" ", microtime());
         $currenttime = bcadd($timeparts[0] * 1000, bcmul($timeparts[1], 1000));
         $vars['current_time'] = $currenttime;
         $row = Page::StaticRender("buildings/building_queue_row", $vars, $this->_user->AuthorisationLevelName());
         $timer = Page::StaticRender("buildings/building_queue_timer", $vars, $this->_user->AuthorisationLevelName());
     } else {
         $row = Page::StaticRender("buildings/building_queue_row", $vars, $this->_user->AuthorisationLevelName());
         $timer = "";
     }
     return array("row" => $row, "timer" => $timer);
 }
 public function DeleteItemFromDatabase(BuildingBuildItem $item)
 {
     $colonyID = $this->Colony()->ID();
     $type = $item->ID();
     $pos = $item->OldPositionInList();
     $query = "DELETE FROM production_building WHERE colonyID = {$colonyID} AND resource_type_being_built = {$type} AND build_list_position = {$pos};";
     Database::Instance()->ExecuteQuery($query, "DElETE");
     // Update UsedFields
     $colonyUsedFields = $this->Colony()->UsedFields();
     $this->Colony()->UsedFields($colonyUsedFields - 1);
     $itemsToBeUpdated = array("used_build_fields");
     $this->Colony()->UpdateDatabaseProperties($itemsToBeUpdated);
 }