public function presentAllLevels() { $levels = []; foreach ($this->data as $time) { $levels[$time->level] = ['time' => $time->time]; } for ($i = 1; $i <= Setting::get('max-level'); $i++) { if (!isset($levels[$i])) { $levels[$i] = ['time' => isset($levels[Setting::get('max-level')]) ? $this->percentageService->estimateTime($i, $levels[Setting::get('max-level')]->time) : null, 'time_estimate' => true]; } } ksort($levels); return $levels; }
protected function allLevelsTime(&$levels) { foreach ($this->collectTime->data as $cTime) { $levels[$cTime->level]['collect_time'] = $cTime->time; $levels[$cTime->level]['collect_time_updated_at'] = $cTime->updated_at; } $timeFillTo = minNoNulls($this->wood_start_level, $this->fish_start_level); if (!$timeFillTo) { $timeFillTo = Setting::get('max-level') + 1; } for ($i = 1; $i < $timeFillTo; $i++) { $levels[$i]['collect_time'] = 0; $levels[$i]['collect_time_updated_at'] = null; } foreach ($levels as $level => &$data) { if ($data['collect_time'] === null) { $data['collect_time'] = $this->percentageService->estimateTime($level, $levels[Setting::get('max-level')]['collect_time']); $data['collect_time_estimate'] = true; } } }
/** * If values are missing, estimate them * @param object $dragon */ protected function setEstimatesForMax(&$dragon) { if ($dragon['collect_time'] === null) { if ($dragon['max_collect_time']) { $dragon['collect_time'] = $this->percentageService->estimateTime(Auth::user()->academyLevel->max_dragon_level, $dragon['max_collect_time']); $dragon['collect_time_estimate'] = true; } } if ($dragon['wood_rate'] === null) { if ($dragon['max_wood_rate']) { $dragon['wood_rate'] = $this->percentageService->estimateRate(Auth::user()->academyLevel->max_dragon_level, $dragon['max_wood_rate']); $dragon['wood_rate_estimate'] = true; $dragon['wood_user_collect_estimate'] = true; } } if ($dragon['fish_rate'] === null) { if ($dragon['max_fish_rate']) { $dragon['fish_rate'] = $this->percentageService->estimateRate(Auth::user()->academyLevel->max_dragon_level, $dragon['max_fish_rate']); $dragon['fish_rate_estimate'] = true; $dragon['fish_user_collect_estimate'] = true; } } }