Optimising Stat()::class.
This commit is contained in:
@@ -14,16 +14,17 @@ class Stats
|
||||
private User $u;
|
||||
|
||||
/** Список разрешённых для бонусов системных названий статов
|
||||
* @var array
|
||||
* @var Stat
|
||||
*/
|
||||
private array $sysNames;
|
||||
private Stat $sysNames;
|
||||
|
||||
private array $statsKeys = [];
|
||||
|
||||
public function __construct(User $user)
|
||||
{
|
||||
$this->u = $user;
|
||||
$this->sysNames = (new Stat())->getBonusNames();
|
||||
$this->sysNames = new Stat();
|
||||
$this->sysNames->getBonus();
|
||||
|
||||
}
|
||||
|
||||
@@ -137,7 +138,8 @@ class Stats
|
||||
}
|
||||
|
||||
// Как? Нахуя 4 переменные разные для одного и того же?
|
||||
$st = array_fill_keys(array_keys($this->sysNames), 0);
|
||||
|
||||
$st = array_fill_keys($this->sysNames->sysBonusNames, 0);
|
||||
$sti = $st;
|
||||
$s_v = $st;
|
||||
$s_vi = $st;
|
||||
@@ -310,7 +312,7 @@ class Stats
|
||||
}
|
||||
|
||||
$sti = Conversion::dataStringToArray($com);
|
||||
foreach ($this->sysNames as $stat) {
|
||||
foreach ($this->sysNames->sysBonusNames as $stat) {
|
||||
if (!isset($sti[$stat])) {
|
||||
continue;
|
||||
}
|
||||
@@ -596,7 +598,7 @@ class Stats
|
||||
|
||||
//Добавляем статы от данного предмета
|
||||
if (!isset($data['restart_stats'])) {
|
||||
foreach ($this->sysNames as $stat) {
|
||||
foreach ($this->sysNames->sysBonusNames as $stat) {
|
||||
if (!isset($data['add_' . $stat])) {
|
||||
continue;
|
||||
}
|
||||
@@ -605,13 +607,6 @@ class Stats
|
||||
} else {
|
||||
$reitm[] = $data;
|
||||
}
|
||||
|
||||
foreach ($this->sysNames as $stat) {
|
||||
if (!isset($data['sv_' . $stat])) {
|
||||
continue;
|
||||
}
|
||||
$s_v[$stat] += (int)$data['sv_' . $stat];
|
||||
}
|
||||
}
|
||||
|
||||
//Сохраненные хар-ки и умения
|
||||
@@ -662,7 +657,7 @@ class Stats
|
||||
foreach ($efs as $data) {
|
||||
$sts = Conversion::dataStringToArray($data);
|
||||
foreach ($sts as $paramName => $value) {
|
||||
if (!in_array($paramName, $this->sysNames, true)) { // есть ли параметр в разрешенных?
|
||||
if (!in_array($paramName, $this->sysNames->sysBonusNames, true)) { // есть ли параметр в разрешенных?
|
||||
continue;
|
||||
}
|
||||
$st[$paramName] += $value;
|
||||
@@ -672,7 +667,7 @@ class Stats
|
||||
|
||||
private function addValuesToAllArrays(array $sts, array &$st, array &$sti, array &$s_v, array &$s_vi): void
|
||||
{
|
||||
foreach ($this->sysNames as $stat) {
|
||||
foreach ($this->sysNames->sysBonusNames as $stat) {
|
||||
if (!isset($sts['add_' . $stat])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user