session = $session; } /** * */ public function session() : GameSession { return $this->session; } /** * Generate a new Game session */ public function newSession(?GameSettings $settings = null) : self { // Generate new cards if (!$settings) { $settings = $this->session()->getSettings(); } $this->session->getBoard()->regenerate($settings); return $this; } }