public function progress(): AchievementCriteriaProgress
    {
        if (!is_null($this->progress)) {
            return $this->progress;
        }

        return $this->progress = new AchievementCriteriaProgress(
            $this->data['progress']['value'] ?? 0,
            $this->data['progress']['changed'] ?? false,
            $this->data['progress']['completed'] ?? false,
            $this->data['progress']['data'] ?? []
        );
    }
public function progress(): AchievementCriteriaProgress
    {
        if (!is_null($this->progress)) {
            return $this->progress;
        }

        return $this->progress = new AchievementCriteriaProgress(
            $this->data['progress']['value'] ?? 0,
            $this->data['progress']['changed'] ?? false,
            $this->data['progress']['completed'] ?? false,
            $this->data['progress']['data'] ?? []
        );
    }
public function progress ( ) : AchievementCriteriaProgress { if ( ! is_null ( $ this -> progress ) ) { return $ this -> progress ; } return $ this -> progress = new AchievementCriteriaProgress ( $ this -> data [ 'progress' ] [ 'value' ] ?? 0 , $ this -> data [ 'progress' ] [ 'changed' ] ?? false , $ this -> data [ 'progress' ] [ 'completed' ] ?? false , $ this -> data [ 'progress' ] [ 'data' ] ?? [ ] ) ; }
Criteria progress.

@return AchievementCriteriaProgress
Criteria progress .