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);
 for ($j = 0; $j < count($unitEndCosts); $j++) {
     $unitEndCosts[$j] = $unitEndCosts[$j] * $quantityList[$i];
if ($capitolSectorArr) {
    $capitolSectorX = $capitolSectorArr[1];
    $capitolSectorY = $capitolSectorArr[2];
} else {
    $distanceFromCapitol = $maxDistance;
}
foreach ($manteinancesArr as $manteinanceArr) {
    $sectorId = $manteinanceArr["sector_id"];
    $costs = explode(",", $manteinanceArr["manteinanceCost"]);
    $multiplier = $manteinanceArr["multiplier"];
    $concept = $manteinanceArr["concept"];
    $battleId = $manteinanceArr["battle_id"];
    if ($concept == 'Division' || $concept == 'BattleCosts') {
        $sectorArr = $sectorConn->getSectorById($sectorId);
        $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]));
        if ($capitolSectorArr) {
            $distanceFromCapitol = $sector->getDistanceFrom($capitolSectorX, $capitolSectorY);
        }
        $unit = new Unit(0, '', 0, 0, 0, 0, 0, '', 0, array(0, 0, 0, 0, 0), $costs, array(0, 0, 0, 0, 0), 0, '', NULL, 0);
        $costs = $unit->getEfectiveManteinanceCosts($distanceFromCapitol);
    }
    $newCosts = array();
    foreach ($costs as $index => $cost) {
        $newCosts[$index] = $cost * $multiplier;
    }
    if ($concept == 'BattleCosts') {
        $battleConn->updateBattleCosts($battleId, $playerId, $newCosts, 1, '+');
    } else {
        $sectorConn->updateSectorCosts($sectorId, $newCosts, 1, '+');
    }
}
Exemple #3
0
<?php

require_once '../../lib/inclusion.php';
require_once_model('Sector');
$sector = new Sector(0, 7, 1);
echo $sector->getDistanceFrom(6, 3);