62 lines
2.0 KiB
PHP
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);
|
|
}
|
|
}
|
|
|