コード例 #1
0
 /**
  * 创建玩家实例
  */
 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);
     }
 }