public static function FromDatabase($row) { $id = $row['class']; $planetType = ResourceParser::Instance()->GetPlanetTypeByID($id); $variation = array(); $variation[] = PlanetData::FromDatabase($row); return new PlanetType($planetType->PlanetClass(), $id, $planetType->AllowedBuildings(), $variation); }
public static function FromList(array $list) { $members = array(); foreach ($list as $itemName) { $members[] = clone ResourceParser::Instance()->GetItemByName($itemName); } return new ResourceGroup($members); }
public static function GenerateShips(Colony $colony) { $list = ResourceParser::Instance()->ShipUnits(); $list = ResourceParser::Instance()->ShipUnits(); foreach ($list as $unit) { $unit->Amount(0); } return new ShipFleet($list, $colony, 0); }
public static function FromDatabase(array $row, Colony $colony) { $members = array(); foreach ($row as $rowName => $rowValue) { $buildObject = clone ResourceParser::Instance()->GetItemByName($rowName); $buildObject->Amount($rowValue); $members[$rowName] = $buildObject; } $newGroup = new BuildingGroup(); $newGroup->Members($members); $newGroup->Colony($colony); return $newGroup; }
public static function FromDatabase(array $buildData, Colony $colony) { $members = array(); // Build a list of BuildItems foreach ($buildData as $row) { $itemName = ResourceParser::Instance()->GetItemNameByID($row['resource_type_being_built']); $itemObject = clone ResourceParser::Instance()->GetItemByName($itemName); $itemObject->Amount($row['amount_requested'], false); $positionInList = $row['build_list_position']; $members[$positionInList] =& BuildItem::FromIDResource($itemObject, $positionInList, $positionInList, 0, NULL); } $rg = new BuildGroup($members, $colony); $rg->UpdateBuildTimes(); return $rg; }
public static function MakeListFrom(array $list, $useNamesAsIndices = true) { $members = array(); foreach ($list as $itemName => $itemAmount) { // TODO: MAKE SURE THIS IS A NEW INSTANCE OF THE OBJECT, // AS WE CHANGE THE AMOUNT $itemObject = clone ResourceParser::Instance()->GetItemByName($itemName); $itemObject->Amount($itemAmount); if ($useNamesAsIndices) { $members[$itemName] = $itemObject; } else { $members[] = $itemObject; } } return $members; }
public static function FromDatabase(array $buildData, Colony $colony, $updateBuildTimes = true) { $members = array(); // Build a list of BuildItems foreach ($buildData as $row) { $itemName = ResourceParser::Instance()->GetItemNameByID($row['resource_type_being_built']); $itemObject = clone ResourceParser::Instance()->GetItemByName($itemName); $itemObject->Amount(1); $positionInList = $row['build_list_position']; $level = $row['level']; $members[$positionInList] =& BuildingBuildItem::FromIDResource($itemObject, $positionInList, $positionInList, 0, $level, NULL); } $bg = new BuildingBuildGroup($members, $colony); if ($updateBuildTimes) { $bg->UpdateBuildTimes(); } return $bg; }
public static function FromDatabase(array $row, User $user) { $members = array(); $changes = array(); $row = array_slice($row, 1); // Slice off userID column foreach ($row as $rowName => $rowValue) { $techObject = clone ResourceParser::Instance()->GetTechnologyByName($rowName); $techObject->Amount($rowValue); $members[$rowName] = $techObject; $changes[$rowName] = false; } $technologyGroup = new TechnologyGroup(); $technologyGroup->Members($members); $technologyGroup->Owner($user); $technologyGroup->Changes($changes); return $technologyGroup; }
public static function FromDatabase(array $row, User $user) { $members = array(); $changes = array(); $row = array_slice($row, 4); // Slice off first four folumns foreach ($row as $rowName => $rowValue) { $splitName = explode("_", $rowName); // Name is of the type "X_level" $rowName = $splitName[0]; $officerObject = clone ResourceParser::Instance()->GetOfficerByName($rowName); $officerObject->Amount($rowValue); $members[$rowName] = $officerObject; $changes[$rowName] = false; } $officerGroup = new OfficerGroup(); $officerGroup->Members($members); $officerGroup->Owner($user); $officerGroup->Changes($changes); return $officerGroup; }
public function __toString() { $itemName = ResourceParser::Instance()->GetItemNameByID($this->ID()); $id = $this->ID(); $amount = $this->Amount(); $pos = $this->PositionInList(); $oldpos = $this->OldPositionInList(); $level = $this->Level(); return "BuildingBuildItem for the IDResource {$itemName} ({$id}), amount = {$amount}, level = {$level}\nNew position: {$pos}, old position: {$oldpos}"; }
public function Language() { global $NN_config; // TODO: read preferred language from database return ResourceParser::Instance()->GetLanguageByName($NN_config["default_language"]); }
$id = $_GET['building']; $itemName = ResourceParser::Instance()->GetItemNameByID($id); $pos = $_GET['build_position']; $action = new UserAction($user); // Check if we want to delete the first item $firstItem = false; $visualPos = $_GET['viewposition']; if ($visualPos == 1) { $firstItem = true; } // Only recalculate commissioned time when first item is deleted $action->CancelBuildings(array($itemName), array($pos), $firstItem); break; case "update": $id = $_GET['building']; $itemName = ResourceParser::Instance()->GetItemNameByID($id); $pos = $_GET['position']; Database::Instance()->SetDebugging(true); // Tap into the Think function and override it for a second Think::Instance()->OverrideUser($user); Think::Instance()->ConstructBuildingsOf($user->CurrentColony()); Think::Instance()->ReturnControl(); break; case "reorder": $rows = explode("_", $_GET['rows']); $rb = ResourceBuilder::GetBuildingListOfColony($user->CurrentColony(), false); $rb->BuildList()->Reorder($rows); $rb->BuildList()->UpdateDatabase(); break; } }
require_once "classes\\class_resourceparser.php"; // $time1 = microtime(); // $dapsap = array(); // for( $i = 0; $i < 1000; $i++) // { // $kbytes = memory_get_usage() / 1024; // echo "current memory usage: $kbytes KB<br/>"; // $dapsap[$i] = new ResourceParser(); // } // $time2 = microtime(); // $result = $time2 - $time1; // echo "time used: ".$result."<br/>"; // $peak = memory_get_peak_usage() / 1024; // echo "peak memory usage: ".$peak." KB"; Helper::var_dump_pre(ResourceParser::Instance()->ProductionUnits()); Helper::var_dump_pre(ResourceParser::Instance()->BuildingUnits()); Helper::var_dump_pre(ResourceParser::Instance()->Technologies()); Helper::var_dump_pre(ResourceParser::Instance()->DefenseUnits()); Helper::var_dump_pre(ResourceParser::Instance()->ShipUnits()); Helper::var_dump_pre(ResourceParser::Instance()->MissileUnits()); Helper::var_dump_pre(ResourceParser::Instance()->Officers()); $cost = new Cost(100, 100, 100, 100); $cost1 = new Cost(50, 50, 50, 50); $res = new Resource("Test", $cost, NULL, NULL); $cost->AddCost($res); $cost1->AddCost($cost); Helper::var_dump_pre($cost); Helper::var_dump_pre($cost1); ?>
public function GetActualUnit() { return ResourceParser::Instance()->GetCombatUnit($this->_unit); }
private function CommonFiles() { global $NN_config; require 'root.inc'; // Load language files //$currentUser = User::GetCurrentUser(); //$variables = $currentUser->Language()->Files(); //$variables['ENCODING'] = $currentUser->Language()->Encoding(); // TODO: Modify this code to use the $currentUser variable if (!is_array($this->_languageFiles)) { $variables = ResourceParser::Instance()->GetLanguageByName("english")->GetFilesByPage($this->_languageFiles); } else { $variables = array(); foreach ($this->_languageFiles as $languageFile) { $variables = array_merge($variables, ResourceParser::Instance()->GetLanguageByName("english")->GetFilesByPage($languageFile)); } } $variables['ENCODING'] = "UTF-8"; // Load skin path $variables['skinpath'] = $ROOT . "/inc/game_skins/" . $NN_config["default_skin"] . "/"; return $variables; }