use Silex\Application; require_once __DIR__ . '/../app/controllers/UsersController.class.php'; require_once __DIR__ . '/../app/models/UserModel.class.php'; require_once __DIR__ . '/../Utils.class.php'; require_once __DIR__ . '/../app/models/ResourceModel.class.php'; require_once __DIR__ . '/../app/controllers/ResourcesController.class.php'; require_once __DIR__ . '/../app/models/BuildingModel.class.php'; require_once __DIR__ . '/../app/controllers/BuildingsController.class.php'; require_once __DIR__ . '/../app/models/LanternModel.class.php'; require_once __DIR__ . '/../app/controllers/LanternsController.class.php'; require_once __DIR__ . '/../app/models/GiftModel.class.php'; require_once __DIR__ . '/../app/controllers/GiftsController.class.php'; $basePath = '/v1'; $UsersController = new UsersController(); $ResourcesController = new ResourcesController(); $BuildingsController = new BuildingsController(); $LanternsController = new LanternsController(); $GiftsController = new GiftsController(); $UserModel = new UserModel(); $ResourceModel = new ResourceModel(); $BuildingModel = new BuildingModel(); $LanternModel = new LanternModel(); $GiftModel = new GiftModel(); /* * Main path */ $app->get('/', function (Request $request) use($app, $UsersController) { return $app->redirect('doc/index.html'); }); /* * Users
public static function isValidPosition($x, $y, $userId) { $buildingsSettings = BuildingsController::getSettings(); //pour le debug $sql = "SELECT id\n\t\t\t\tFROM building_users\n\t\t\t\tWHERE user_id = " . $userId . "\n\t\t\t\t\tAND x = " . $x . "\n\t\t\t\t\tAND y = " . $y; $result = $GLOBALS['app']['db']->fetchAll($sql); if (count($result) != 0) { return false; } $lanterns = LanternsController::getLanterns($userId); foreach ($lanterns as $lantern) { if (sqrt(pow($lantern[x] - $x, 2) + pow($lantern[y] - $y, 2)) < $buildingsSettings["lanterns"]["action_radius"]) { return true; } } return false; }
/** * Converti les bonus en gold * @param bonusCount * @param paradeSettings */ private function convertBonusToGold($bonusCount, $paradeSettings, $userId) { $paradeSettings = file_get_contents(__DIR__ . "./../../../assets/json/paradeSettings.json", FILE_USE_INCLUDE_PATH); $paradeSettings = json_decode($paradeSettings, true); $buildingsSettings = BuildingsController::getSettings(); $sql = "SELECT lvl FROM building_city_hall WHERE user_id = '" . $userId . "'"; $result = $GLOBALS['app']['db']->fetchAll($sql); $mainBuildingLevel = $result[0]["lvl"]; $goldPerBonus = $paradeSettings['goldPerBonus'] + $paradeSettings['goldPerBonus'] * ($paradeSettings['goldMultiplierByMainBuilding'] * $mainBuildingLevel); $goldIncremented = $paradeSettings['goldIncremented'] + $paradeSettings['goldIncremented'] * ($paradeSettings['goldMultiplierByMainBuilding'] * $mainBuildingLevel); $gold = $goldPerBonus * $bonusCount; $goldIncrementedTotal = 0; for ($i = 0; $i < $bonusCount; $i++) { $goldIncrementedTotal = ($i + 1) * $goldIncremented; } $sql = "SELECT lvl FROM building_pyrotechnician WHERE user_id = '" . $userId . "'"; $result = $GLOBALS['app']['db']->fetchAll($sql); foreach ($result as $buildingPyrotechnician) { $gold += $buildingsSettings['pyrotechnician'][$buildingPyrotechnician['lvl']]['production_per_parade']; } return $gold + $goldIncrementedTotal; }