Beispiel #1
0
 public static function FromIDResource(IDResource $resource, $position, $oldPosition, $scheduledTime, BuildGroup $bg = NULL)
 {
     $buildItem = new BuildItem();
     $buildItem->Name($resource->Name());
     $buildItem->Cost($resource->Cost());
     $buildItem->NextCostModifier($resource->NextCostModifier());
     $buildItem->Prerequisite($resource->Prerequisite());
     $buildItem->ID($resource->ID());
     $buildItem->Amount($resource->Amount(), false);
     $buildItem->PositionInList($position, false);
     $buildItem->OldPositionInList($oldPosition, false);
     $buildItem->FirstBuildTime($scheduledTime);
     $buildItem->HasChanged(false);
     $buildItem->BuildGroup($bg);
     return $buildItem;
 }
 public function DeleteItemFromDatabase(BuildItem $item)
 {
     $colonyID = $this->BuildList()->Colony()->ID();
     $type = $item->ID();
     $pos = $item->OldPositionInList();
     $query = "DELETE FROM production WHERE colonyID = {$colonyID} AND resource_type_being_built = {$type} AND build_list_position = {$pos};";
     $result = Database::Instance()->ExecuteQuery($query, "DElETE");
 }
 public function ContainsBuildItem(BuildItem $needle)
 {
     foreach ($this->Members() as $item) {
         if ($item->ID() === $needle->ID() && $item->PositionInList() === $needle->PositionInList() && $item->BuildGroup()->Colony()->Equals($needle->BuildGroup()->Colony())) {
             return true;
         }
     }
     return false;
 }