game/_incl_data/class/FightRequest/FRHelper.php
2023-12-16 20:10:59 +02:00

62 lines
2.0 KiB
PHP

<?php
namespace FightRequest;
class FRHelper
{
/** Считает разрешенные уровни игроков в групповых заявках.
* @param int $type тип фильтра.
* @param int $userLevel уровень игрока подающего заявку.
* @return object
*/
public static function getTeammatesLevel(int $type, int $userLevel): object
{
$min = 0;
$max = 21;
switch ($type) {
default:
break;
case 1: // только моего и ниже
$max = $userLevel;
break;
case 2: // только ниже моего
$max = $userLevel - 1;
break;
case 3: // только моего
$min = $userLevel;
$max = $userLevel;
break;
case 4: // не выше меня на 1 уровень
$min = $userLevel;
$max = $userLevel + 1;
break;
case 5: // не ниже меня на 1 уровень
$min = $userLevel - 1;
$max = $userLevel;
break;
case 6: // мой уровень +- 1
$min = $userLevel - 1;
$max = $userLevel + 1;
break;
}
return (object)[
'min'=> $min,
'max'=> $max,
];
}
/** Считает разрешенные уровни игроков в хаотических заявках.
* @param int $type тип фильтра.
* @param int $userLevel уровень игрока подающего заявку.
* @return object
*/
public static function getChaoticTeammatesLevel(int $type, int $userLevel): object
{
if (!in_array($type, [3, 6])) {
$type = 0;
}
return self::getTeammatesLevel($type, $userLevel);
}
}