王刚 3 年 前
コミット
8efb0772a1

+ 18 - 16
Gameserver/Amfphp/process/FightProc/PVPProc.php

@@ -54,25 +54,26 @@ class PVPProc {
         if (null == $uinfo) {
             Err(ErrCode::user_no_err);
         }
-        $team = JsonUtil::decode($uinfo->game->heroTeamConfig);
+        $game = $uinfo->game;
+        $team = JsonUtil::decode($game->heroTeamConfig);
 
         $heros = new \stdClass();
         $curTeamId = $team->curUseTeamID;
         foreach ($team->teamDic->$curTeamId->heros as $i => $hid) {
             if ($hid > 0) {
                 $n_hid = $hid - 10000;
-                $heros->$n_hid = $uinfo->game->heros->collectHeros->$hid;
+                $heros->$n_hid = $game->heros->collectHeros->$hid;
             }
         }
 
         $adversary = array(#                                                    # 拼装玩家信息
             'uid' => $targetUID,
-            'name' => my_null_default($uinfo->game->base()->name, ""),
-            'level' => my_null_default($uinfo->game->base()->level, 1),
-            'headImg' => my_null_default($uinfo->game->base()->headImg, ""),
+            'name' => my_null_default($game->base()->name, ""),
+            'level' => my_null_default($game->base()->level, 1),
+            'headImg' => my_null_default($game->base()->headImg, ""),
 //            'skills' => null, #                                                  # skills暂时没有实例数据 
-            'equipment' => array("equipments" => my_null_default($uinfo->game->store->equipment, new \stdClass())), # 武器
-            'yanling' => array("items" => my_null_default($uinfo->game->store->yanling, new \stdClass())), # 言灵
+            'equipment' => array("equipments" => my_null_default($game->store->equipment, new \stdClass())), # 武器
+            'yanling' => array("items" => my_null_default($game->store->yanling, new \stdClass())), # 言灵
             'heros' => my_null_default($heros, new \stdClass()), #              # 英雄集合
         );
 
@@ -620,24 +621,25 @@ class PVPProc {
     private static function GetPlayerInfosForPVP($zoneid, $retUidsWithScore) {
         $arr = ArrayInit();
         foreach ($retUidsWithScore as $uid => $score) {
-            $userGameInfo = UserProc::getUserInfo($zoneid, $uid);               # 玩家数据  
-            $teamConfig = $userGameInfo->game->pvp->defTeam;                    # 防守阵容 
+            $userGameInfo = UserProc::getUserInfo($zoneid, $uid);               # 玩家数据 
+            $game = $userGameInfo->game;
+            $teamConfig = $game->pvp->defTeam;                                  # 防守阵容 
             $heros = new \stdClass();                                           # 英雄集合
             foreach ($teamConfig as $hid) {
                 if ($hid > 0) {
                     $n_hid = $hid - 10000;
-                    $heros->$n_hid = $userGameInfo->game->heros->collectHeros->$hid;
+                    $heros->$n_hid = $game->heros->collectHeros->$hid;
                 }
             }
-            $fpower = HeroProc::CalcUserFightPower($zoneid, $uid, $userGameInfo->game); # 计算总战力
+            $fpower = HeroProc::CalcUserFightPower($zoneid, $uid, $game);       # 计算总战力
             $adversary = array(#                                                # 拼装玩家信息
                 'uid' => $uid,
-                'name' => my_null_default($userGameInfo->game->baseInfo->name, ""),
-                'level' => my_null_default($userGameInfo->game->baseInfo->level, 1),
-                'headImg' => my_null_default($userGameInfo->game->baseInfo->headImg, ""),
+                'name' => my_null_default($game->baseInfo->name, ""),
+                'level' => my_null_default($game->baseInfo->level, 1),
+                'headImg' => my_null_default($game->baseInfo->headImg, ""),
 //            'skills' => null, #                                                 # skills暂时没有实例数据 
-                'equipment' => array("equipments" => my_null_default($userGameInfo->game->store->equipment, new \stdClass())), # 武器
-                'yanling' => array("items" => my_null_default($userGameInfo->game->store->yanling, new \stdClass())), # 言灵
+                'equipment' => array("equipments" => my_null_default($game->store->equipment, new \stdClass())), # 武器
+                'yanling' => array("items" => my_null_default($game->store->yanling, new \stdClass())), # 言灵
                 'heros' => my_null_default($heros, new \stdClass()), #          # 英雄集合
                 'score' => $score, #                                            # 积分
                 'fpower' => $fpower, #                                          # 总战力

+ 21 - 15
Gameserver/Amfphp/process/RankProc.php

@@ -51,12 +51,14 @@ class RankProc {
         if (count($no1) > 0) {
             foreach ($no1 as $uid => $score) {                                  # 即使只有一行也用的遍历
                 $uinfo = UserProc::getUserInfo(req()->zoneid, $uid);            # 读取玩家信息
+                $game = $uinfo->game;
+
                 return array(#                                                  # 拼装玩家信息
                     'uid' => $uid,
-                    'name' => my_null_default($uinfo->game->baseInfo->name, ""),
-                    'level' => my_null_default($uinfo->game->baseInfo->level, 1),
+                    'name' => my_null_default($game->baseInfo->name, ""),
+                    'level' => my_null_default($game->baseInfo->level, 1),
                     'score' => my_null_default($score, 0),
-                    'headImg' => my_null_default($uinfo->game->baseInfo->headImg, "")
+                    'headImg' => my_null_default($game->baseInfo->headImg, "")
                 );
             }
         }
@@ -75,16 +77,17 @@ class RankProc {
         $ret = array();
         foreach ($kv as $condition => $uid) {
             $uinfo = UserProc::getUserInfo(req()->zoneid, $uid);                # 读取玩家信息
+            $game = $uinfo->game;
             if (empty($uinfo)) {
                 CLog::err("未找到战力突破榜玩家$uid");
                 continue;
             }
             $ret[$condition] = array(#                                          # 拼装玩家信息
                 'uid' => $uid,
-                'name' => my_null_default($uinfo->game->baseInfo->name, ""),
-                'level' => my_null_default($uinfo->game->baseInfo->level, 1),
+                'name' => my_null_default($game->baseInfo->name, ""),
+                'level' => my_null_default($game->baseInfo->level, 1),
                 'score' => my_null_default($score, 0),
-                'headImg' => my_null_default($uinfo->game->baseInfo->headImg, "")
+                'headImg' => my_null_default($game->baseInfo->headImg, "")
             );
         }
         return Resp::ok($ret);
@@ -108,16 +111,17 @@ class RankProc {
         $userInfos = array();                                                   # 玩家信息
         foreach ($uids as $uid => $score) {
             $uinfo = UserProc::getUserInfo(req()->zoneid, $uid);                # 读取玩家信息
+            $game = $uinfo->game;
             if (empty($uinfo)) {
                 CLog::err("未找到战力榜玩家$uid");
                 continue;
             }
             $userInfos[] = array(#                                              # 拼装玩家信息
                 'uid' => $uid,
-                'name' => my_null_default($uinfo->game->baseInfo->name, ""),
-                'level' => my_null_default($uinfo->game->baseInfo->level, 1),
+                'name' => my_null_default($game->baseInfo->name, ""),
+                'level' => my_null_default($game->baseInfo->level, 1),
                 'score' => my_null_default($score, 0),
-                'headImg' => my_null_default($uinfo->game->baseInfo->headImg, "")
+                'headImg' => my_null_default($game->baseInfo->headImg, "")
             );
         }
         $user_ranking = gMem()->zrevrank($key, req()->uid);                      # 查询玩家排名
@@ -198,12 +202,13 @@ class RankProc {
         $ret = array();
         foreach ($kv as $condition => $uid) {
             $uinfo = UserProc::getUserInfo(req()->zoneid, $uid);                # 读取玩家信息
+            $game = $uinfo->game;
             $ret[$condition] = array(#                                          # 拼装玩家信息
                 'uid' => $uid,
-                'name' => my_null_default($uinfo->game->baseInfo->name, ""),
-                'level' => my_null_default($uinfo->game->baseInfo->level, 1),
+                'name' => my_null_default($game->baseInfo->name, ""),
+                'level' => my_null_default($game->baseInfo->level, 1),
                 'score' => my_null_default($score, 0),
-                'headImg' => my_null_default($uinfo->game->baseInfo->headImg, "")
+                'headImg' => my_null_default($game->baseInfo->headImg, "")
             );
         }
         if (count($ret) < 1) {
@@ -259,12 +264,13 @@ class RankProc {
         $userInfos = array();                                                   # 玩家信息
         foreach ($uids as $uid => $score) {
             $uinfo = UserProc::getUserInfo(req()->zoneid, $uid);                 # 读取玩家信息
+            $game = $uinfo->game;
             $userInfos[] = array(#                                              # 拼装玩家信息
                 'uid' => $uid,
-                'name' => my_null_default($uinfo->game->baseInfo->name, ""),
-                'level' => my_null_default($uinfo->game->baseInfo->level, 1),
+                'name' => my_null_default($game->baseInfo->name, ""),
+                'level' => my_null_default($game->baseInfo->level, 1),
                 'score' => my_null_default($score, 0),
-                'headImg' => my_null_default($uinfo->game->baseInfo->headImg, "")
+                'headImg' => my_null_default($game->baseInfo->headImg, "")
             );
         }
 

+ 7 - 12
Gameserver/Amfphp/process/UserProc.php

@@ -492,23 +492,18 @@ class UserProc {
      * @return UserInfoMo
      */
     static function createUser($rolename, $gender, $profile_img) {
+        $game = new Data_UserGame();
+        $game->initialize();                                                    # 初始化玩家数据
+        $game->baseInfo->name = $rolename;
+        $game->baseInfo->gender = $gender;
+        $game->baseInfo->headImg = $profile_img;
+        $game->baseInfo->firstLogin = now();
         $userInfo = new UserInfoMo();
         req()->userInfo = $userInfo;                                             # 更新Req的userinfo,
-//        $userInfo->uid = req()->uid;
-//        $userInfo->zoneid = req()->zoneid;
-        $userInfo->game = new Data_UserGame();
-        $userInfo->game->initialize();                                          # 初始化玩家数据
-        $userInfo->game->baseInfo->name = $rolename;
-        $userInfo->game->baseInfo->gender = $gender;
-        $userInfo->game->baseInfo->headImg = $profile_img;
-        $userInfo->game->baseInfo->firstLogin = now();
-//        $userInfo->game->pvp->socre = PVPProc::_getScore_by_uid($req, $req->uid); # 初始化pvp积分
-//        $userInfo->game->NewbieGuideOver = 1;
-//        UserProc::_intiHeroManual($userInfo->game);                             # 初始化图鉴
 #Ps 6006是没有获得到Userinfo到Req中的
         UserProc::checkContidays(1);                                            # 每日状态检查
 //        UserProc::fetchFromInteract($mem, $req);  # 从interact拉取数据,Ps.初始化的过程应该还拉取不到什么有效数据
-        UserProc::updateUserInfo();                                         # 回存用户数据
+        UserProc::updateUserInfo();                                             # 回存用户数据
 //        FriendProc::Init($req);
 //        StatProc::                                                            ...
 //        GoalsDailyProc::dealDailyLogin($mem, $req, $resp);                   # 每日登录任务