/** * 创建玩家实例 */ public function create() { // 取得玩家终端ID $intDeviceId = Input::get('device_id'); // 终端ID检查 if (!$intDeviceId || $intDeviceId == "") { return 'Create Error'; } // 检查玩家是否已经存在 $objPlayerCheck = Player::where('device_id', $intDeviceId)->get(); if (!empty($objPlayerCheck->toArray())) { return 'Player Is Exsit'; } // TODO Truncate DB::beginTransaction(); // 创建玩家实例 $objPlayer = new Player(); $objPlayer->device_id = $intDeviceId; if ($objPlayer->save()) { // 若玩家实例创建成功,创建玩家数据 $objPlayerData = new PlayerData(); // 玩家数据初始化 TODO $objPlayerData->id = $objPlayer->id; $objPlayerData->code = ""; $objPlayerData->profile = ""; $objPlayerData->money = 500; $objPlayerData->stone = 50; if ($objPlayerData->save()) { // 最初的卡片赋予 TODO 初始卡片选择 $objPlayer->appendCard(1); // 最初的队伍组建 $objPlayer->firstTeam(); // 其他初始化项目 如果有的话添加 DB::commit(); return Response::json($objPlayerData); } else { // 若保持失败 DB::rollback(); return Response::json(null); } } else { // 若保持失败 DB::rollback(); return Response::json(null); } }