Esempio n. 1
0
 private function RenderRowOfColony(Colony $c)
 {
     $positionData = array("tabindex" => $c->Coordinates()->Planet() + 1, "planet_position" => $c->Coordinates()->Planet());
     $planetImage['planet_image'] = $c->PlanetData()->Image();
     $nameData = $this->GetPlanetNameDataOfColony($c);
     $moonImage['moon_image'] = $c->PlanetData()->Image();
     // TODO: PLACEHOLDER, put actual moon image here
     $debrisData['debris'] = "Debris";
     // TODO: PLACEHOLDER
     $ownerData['owner'] = $c->Owner()->Username();
     // TODO: PLACEHOLDER
     $allianceData['alliance'] = "Alliance";
     // TODO: PLACEHOLDER
     $actionData['actions'] = "Actions";
     // TODO: PLACEHOLDER, implement PMs and alliances and buddies before doing this
     $vars = array_merge($positionData, $planetImage, $nameData, $moonImage, $debrisData, $ownerData, $allianceData, $actionData);
     return Page::StaticRender("galaxy/galaxy_row", $vars, $this->_user->AuthorisationLevelName());
 }
Esempio n. 2
0
 public static function FromDatabase(array $row, User $user = NULL)
 {
     $colony = new Colony();
     // Colony details
     $colony->Name($row["name"]);
     $colony->Coordinates(new Coordinates($row["galaxy_position"], $row["system_position"], $row["planet_position"]));
     $colony->ID($row["ID"]);
     if ($user == NULL) {
         $colony->Owner(User::GetOwnerOfColonyID($row["ID"], $colony));
     } else {
         $colony->Owner($user);
     }
     $colony->HomeColony($row["is_home_colony"]);
     // Resources
     $rowResources = Database::Instance()->ExecuteQuery("SELECT * FROM colony_resources WHERE colonyID = " . $row['ID'] . ";", "SELECT");
     $colony->CurrentResources(new Cost($rowResources["metal_available"], $rowResources["crystal_available"], $rowResources["deuterium_available"], 0));
     // TODO: Add energy later
     // Storage
     $colony->MetalStorage($rowResources['metal_storage_limit']);
     $colony->CrystalStorage($rowResources['crystal_storage_limit']);
     $colony->DeuteriumStorage($rowResources['deuterium_storage_limit']);
     // Get planet surface properties
     $rowProperties = Database::Instance()->ExecuteQuery("SELECT * FROM colony_properties WHERE colonyID = " . $row['ID'] . ";", "SELECT");
     $colony->MaxFields($rowProperties['max_build_fields']);
     $colony->UsedFields($rowProperties['used_build_fields']);
     $colony->Diameter($rowProperties['diameter']);
     $colony->PlanetType(PlanetType::FromDatabase($rowProperties));
     $planetData = $colony->PlanetType()->Variations();
     $colony->PlanetData($planetData[0]);
     // "Last updated" variable
     $colony->LastUpdated($row['last_updated']);
     // Is this colony a moon?
     $colony->IsMoon($row['is_moon']);
     // Get buildings
     $buildings = BuildingGroup::FromDatabaseByColony($colony);
     $colony->ProductionUnits($buildings[0]);
     $colony->BuildingUnits($buildings[1]);
     // Get combat units
     $colony->Defenses(CombatGroup::GetDefensesOfColony($colony));
     $colony->Fleet(ShipFleet::GetShipsOfColony($colony));
     return $colony;
 }