$sectorArr = $sectorConn->getSectorByCoordinates($startSectorX, $startSectorY); $startSector = new Sector($sectorArr[0], $sectorArr[1], $sectorArr[2], $sectorArr[3], $sectorArr[4], $sectorArr[5], $sectorArr[6], $sectorArr[7], explode(",", $sectorArr[8]), explode(",", $sectorArr[9]), $sectorArr[10]); if (!isset($allUnits)) { $allUnitsArr = $unitConn->getAllUnits(); $allUnits = array(); $trainingTimes = array(); foreach ($allUnitsArr as $unitArr) { $unit = new Unit($unitArr[0], $unitArr[1], $unitArr[2], $unitArr[3], $unitArr[4], $unitArr[5], $unitArr[6], $unitArr[7], $unitArr[8], explode(",", $unitArr[9]), explode(",", $unitArr[10]), explode(",", $unitArr[11]), $unitArr[12], $unitArr[13], $unitArr[14], $unitArr[15]); $allUnits[$unit->getId()] = $unit; } } $unit = $allUnits[$unitId]; $capitolSectorArr = $sectorConn->getCapitolSector($playerId); if ($capitolSectorArr) { $capitolSector = new Sector($capitolSectorArr[0], $capitolSectorArr[1], $capitolSectorArr[2], $capitolSectorArr[3], $capitolSectorArr[4], $capitolSectorArr[5], $capitolSectorArr[6], $capitolSectorArr[7], explode(",", $capitolSectorArr[8]), explode(",", $capitolSectorArr[9]), $capitolSectorArr[10]); $capitolX = $capitolSector->getCoordinateX(); $capitolY = $capitolSector->getCoordinateY(); $distanceFromCapitol = $startSector->getDistanceFrom($capitolX, $capitolY); //var_dump($distanceFromCapitol); } else { $ownedSectors = Sector::getOwnedSectors($allSectors, $playerId); $distanceFromCapitol = Sector::getMaxDistance($ownedSectors); } $unitStartCosts = $unit->getEfectiveManteinanceCosts($distanceFromCapitol); for ($j = 0; $j < count($unitStartCosts); $j++) { $unitStartCosts[$j] = $unitStartCosts[$j] * $quantityList[$i]; } if ($capitolSectorArr) { $distanceFromCapitol = $endSector->getDistanceFrom($capitolX, $capitolY); } $unitEndCosts = $unit->getEfectiveManteinanceCosts($distanceFromCapitol);
<?php $allUnits = $staticData->getUnits(); $allPlayers = $staticData->getPlayers(); $allBuildings = $staticData->getBuildings(); $coordinateX = $_POST['coordinateX']; $coordinateY = $_POST['coordinateY']; $sectorArr = $sectorConn->getSectorByCoordinates($coordinateX, $coordinateY); $sector = new Sector($sectorArr[0], $sectorArr[1], $sectorArr[2], $sectorArr[3], $sectorArr[4], $sectorArr[5], $sectorArr[6], $sectorArr[7], explode(",", $sectorArr[8]), explode(",", $sectorArr[9])); $battleArr = $battleConn->getBattleBySectorId($sector->getId()); $battle = new Battle($battleArr[0], 0, 0, $battleArr[2], $battleArr[3], $battleArr[4], $battleArr[5]); $attackingDivisions = array(); $defendingDivisions = array(); $sectorNameString = $sector->getName() . "(" . $sector->getCoordinateX() . "," . $sector->getCoordinateY() . ")"; $isPlayerDefending = $battle->getDefenderId() == $player->getId(); $owner = $sector->getOwner(); if (empty($owner)) { $defendingPlayer = new Player(); } else { $defendingPlayer = $allPlayers[$sector->getOwner()]; } $isPlayerInvolved = true; $divisionsArr = $divisionConn->getDivisionsBySector($sector->getId()); foreach ($divisionsArr as $divisionArr) { $quantity = $divisionArr[4]; $ownerId = $divisionArr[1]; if ($battle->getDefenderId() != $ownerId && $player->getId() != $battle->getDefenderId() && $player->getId() != $ownerId) { $isPlayerInvolved = false; $attackingPlayer = $allPlayers[$ownerId]; break; }
public function getDistanceFromCapitolSector($playerId, $connection) { $capitolSectorArr = $connection->getCapitolSector($playerId); if ($capitolSectorArr) { $capitolSector = new Sector($capitolSectorArr[0], $capitolSectorArr[1], $capitolSectorArr[2], $capitolSectorArr[3], $capitolSectorArr[4], $capitolSectorArr[5], $capitolSectorArr[6], $capitolSectorArr[7], explode(",", $capitolSectorArr[8]), explode(",", $capitolSectorArr[9]), $capitolSectorArr[10]); return $this->getDistanceFrom($capitolSector->getCoordinateX(), $capitolSector->getCoordinateY()); } else { return false; } }