public function getPlay(Request $req, WargameService $ws) { $wargame = $req->session()->get('wargame'); if (!$wargame) { $ret = $ws->lobbyView($wargame); return view("wargame/lobby", $ret); } $ret = $ws->gameView($wargame); $className = $ret['className']; $viewPath = WargameService::viewBase($className) . ".view"; if (view()->exists("wargame::{$viewPath}")) { return view("wargame::{$viewPath}", $ret); } list($viewPath, $viewRet) = WargameService::viewParent($className); $viewPath .= ".view-family"; $ret = array_merge($ret, $viewRet); return view("wargame::{$viewPath}", $ret); }