Destiny\Character\ActivityCollection::__construct PHP Method

__construct() public method

public __construct ( Character $character, array $stats, array $checklist )
$character Destiny\Character
$stats array
$checklist array
    public function __construct(Character $character, array $stats, array $checklist)
    {
        $this->character = $character;
        if (count($checklist) === 0) {
            return;
        }
        $advisors = new Advisors($checklist);
        // stats grouped by activity hash
        $statsArray = [];
        foreach ($stats as $k => $stat) {
            $activityHash = (string) $stat['activityHash'];
            $statsArray[$activityHash] = new StatisticsCollection($stat['values']);
        }
        // Weekly Nightfall
        $nightfall = $advisors->nightfall->toActivity($character, $statsArray);
        $this->put('NIGHTFALL', $nightfall);
        // Daily PVE/PVP
        $dailyChapter = $advisors->dailychapter->toActivity($character, $statsArray);
        $this->put('DAILY_PVE', $dailyChapter);
        $dailyCrucible = $advisors->dailycrucible->toActivity($character, $statsArray);
        $this->put('DAILY_PVP', $dailyCrucible);
        /** @var ActivityTier $activityTier */
        foreach ($advisors->vaultofglass->activityTiers as $activityTier) {
            /** @var ActivityTier $activity */
            $activity = $activityTier->toActivity($character, $statsArray);
            $activity->activityMode = $activityTier->tierDisplayName;
            $this->put('RAID_' . $activity->activityHash, $activity);
        }
        foreach ($advisors->crota->activityTiers as $activityTier) {
            /** @var Activity $activity */
            $activity = $activityTier->toActivity($character, $statsArray);
            $activity->activityMode = $activityTier->tierDisplayName;
            $this->put('RAID_' . $activity->activityHash, $activity);
        }
        foreach ($advisors->kingsfall->activityTiers as $activityTier) {
            /** @var Activity $activity */
            $activity = $activityTier->toActivity($character, $statsArray);
            $activity->activityMode = $activityTier->tierDisplayName;
            $this->put('RAID_' . $activity->activityHash, $activity);
        }
        foreach ($advisors->wrathofthemachine->activityTiers as $activityTier) {
            /** @var Activity $activity */
            $activity = $activityTier->toActivity($character, $statsArray);
            $activity->activityMode = $activityTier->tierDisplayName;
            $this->put('RAID_' . $activity->activityHash, $activity);
        }
        foreach ($advisors->elderchallenge->activityTiers as $activityTier) {
            /** @var Activity $activity */
            $activity = $activityTier->toActivity($character, $statsArray);
            $this->put('ARENA_' . $activity->activityHash, $activity);
        }
        foreach ($advisors->prisonofelders->activityTiers as $activityTier) {
            /** @var Activity $activity */
            $activity = $activityTier->toActivity($character, $statsArray);
            $this->put('ARENA_' . $activity->activityHash, $activity);
        }
    }