소스 검색

代码整理

gwang 4 년 전
부모
커밋
802f50dc26

+ 14 - 191
Gameserver/Amfphp/model/User/Data_UserGame.php

@@ -160,183 +160,6 @@ class Data_UserGame extends HashSaver {
         $this->profile = new Data_UserProfile();                                     # 初始化用户画像模块
     }
 
-    // <editor-fold defaultstate="collapsed" desc="   functions   ">
-
-    /**
-     * 扣除玩家钻石
-     * @param Info_UserBase $user
-     * @param int $amt
-     * @return bool 成功与否
-     */
-    static public function Consume_Cash($user, $amt) {
-        if ($amt >= 0 && isset($user) && isset($user->cash)) {
-            if ($user->cash - $amt >= 0) {
-                $user->cash -= $amt;
-                return true;
-            }
-        }
-        return false;
-    }
-
-    /**
-     * 扣除玩家金币
-     * @param Info_UserBase $user
-     * @param int $amt
-     * @return boolean true:成功, false:金币不足
-     */
-    static public function Consume_Gold($user, $amt) {
-        if ($amt > 0 && isset($user) && isset($user->gold)) {
-            if ($user->gold - $amt >= 0) {
-                $user->gold -= $amt;
-                return true;
-            }
-        }
-        return false;
-    }
-
-    /**
-     * 扣除资源点
-     * @param Info_UserBase $user
-     * @param type $amt
-     * @return boolean true:成功, false:资源点不足
-     */
-    static public function Consume_ResPoint($user, $amt) {
-        if ($amt > 0 && isset($user) && isset($user->resPoint)) {
-            if ($user->resPoint - $amt >= 0) {
-                $user->resPoint -= $amt;
-                return true;
-            }
-        }
-        return false;
-    }
-
-    /**
-     * 扣除玩家友情点
-     * @param Info_UserBase $user
-     * @param int $amt
-     */
-    static public function Consume_FriendShipPoint($user, $amt) {
-        if ($amt > 0 && isset($user) && isset($user->friendPoint)) {
-            if ($user->friendPoint - $amt >= 0) {
-                $user->friendPoint -= $amt;
-                return true;
-            }
-        }
-        return false;
-    }
-
-    /**
-     * 扣除玩家碎片
-     * @param Data_UserGame $user
-     * @param int $segmentId 碎片ID
-     * @param int $amt  数量
-     * @return boolean true 成功, false 失败
-     */
-    static public function Consume_HeroSegment($user, $segmentId, $amt) {
-        if ($amt > 0 && isset($user)) {
-            if (CommUtil::isPropertyExists($user->store->items, $segmentId)) {
-                if ($user->store->items->$segmentId - $amt >= 0) {
-                    $user->store->items->$segmentId -= $amt;
-                    return true;
-                }
-            }
-        }
-        return false;
-    }
-
-    /**
-     * 增加用户钻石
-     * @param Info_UserBase $user
-     * @param type $amt
-     * @return type
-     */
-    static function Add_Cash($user, $amt) {
-        my_Assert($user, "user为空");
-        my_Assert($amt >= 0, "amt值为负");
-        $user->cash += $amt;
-    }
-
-    /**
-     * 增加用户友情点
-     * @param Info_UserBase $user
-     * @param type $amt
-     * @return type
-     */
-    static function Add_FriendPoint($user, $amt) {
-        my_Assert($user, "user为空");
-        my_Assert($amt >= 0, "amt值为负");
-        $user->friendPoint += $amt;                                             # 业务逻辑
-    }
-
-    /**
-     * 用户获得经验值
-     * @param Info_UserBase $user Description
-     * @param int $amt
-     */
-    static function Add_Exp($user, $amt) {
-        my_Assert($user, "user为空");
-        my_Assert($amt >= 0, "amt值为负");
-        $cfgLVs = GameConfig::playerlevel();
-        $user->xp += $amt;
-        $initLevel = $curLevel = $user->level;
-        $nextLevel = $curLevel + 1;
-        while ($user->xp >= $cfgLVs->$nextLevel->xp_need) {                     # 超过升级所需经验
-            if ($user->level < glc()->Game_MaxPlayerLevel) {                    # 如果未到达最大等级
-                $user->level++;
-                $user->xp -= $cfgLVs->$nextLevel->xp_need;
-                $curLevel = $user->level;
-                $nextLevel = $curLevel + 1;
-                my_Assert(CommUtil::isPropertyExists($cfgLVs, $nextLevel), ErrCode::err_const_no); // "取英雄升级常量数据失败." . $nextLevel . "级");
-                $user->maxXp = $cfgLVs->$nextLevel->xp_need;
-//                StatProc::UserLevel($nowlv);                                 // 等级统计
-                // todo:: 发发宝箱奖励, 如果有的话 
-            } else {                                                            // 如果已到达最大等级则仅补齐缺失的经验即可
-                $user->xp = $user->maxXp;                                       # 经验不能超过最大值
-                break;
-            }
-        }
-        if ($user->level != $initLevel) {                                       # 插入玩家升级的系统消息
-            SystemProc::UserLevelUp(req()->zoneid, $user, $user->level);
-            TaskProc::OnUserLevelUp($user->level);                              # 通知任务模块,这里应该有事件模块
-            EventProc::OnUserLevelup($initLevel, $user->level);                 # 事件模块
-        }
-    }
-
-    /**
-     * 用户获得金币
-     * @param Info_UserBase $user 玩家数据
-     * @param int $amt
-     */
-    static function Add_Gold(&$user, $amt) {
-        my_Assert($user, "参数null");
-        my_Assert($amt >= 0, "参数为负");
-        $user->gold += $amt;
-    }
-
-    /**
-     * 给玩家增加体力 
-     * @param int $amt
-     * @return type
-     */
-    static function Add_tili($amt) {
-        $user = req()->userInfo->game;
-        my_Assert($user, "user为空");
-        my_Assert($amt >= 0, "体力amt小于0");
-        ActiveProc::ChangeTili($amt);
-    }
-
-    /**
-     * 增加资源点
-     * @param Info_UserBase $user
-     * @param type $amt
-     */
-    static function Add_resPoint(&$user, $amt) {
-        my_Assert($user, "参数null");
-        my_Assert($amt >= 0, "参数为负");
-        $user->resPoint += $amt;
-    }
-
-// </editor-fold>
     // <editor-fold defaultstate="collapsed" desc="实例方法">
 
     /**
@@ -344,7 +167,7 @@ class Data_UserGame extends HashSaver {
      * @param bool $save 是否需要回存
      * @return Info_UserBase
      */
-    public function base($save = false) {
+    public function base($save = true) {
         $this->baseInfo = new Info_UserBase($this->baseInfo);
         if ($save) {
             self::save_tag("baseInfo");
@@ -357,7 +180,7 @@ class Data_UserGame extends HashSaver {
      * @param bool $save 是否需要回存
      * @return Info_Store
      */
-    public function store($save = false) {
+    public function store($save = true) {
         $this->store = new Info_Store($this->store);
         if ($save) {
             self::save_tag("store");
@@ -370,7 +193,7 @@ class Data_UserGame extends HashSaver {
      * @param bool $save 是否需要回存
      * @return Info_UserShop
      */
-    public function shop($save = false) {
+    public function shop($save = true) {
         $this->shopdata = new Info_UserShop($this->shopdata);
         if ($save) {
             self::save_tag("shopdata");
@@ -383,7 +206,7 @@ class Data_UserGame extends HashSaver {
      * @param bool $save 是否需要回存
      * @return Info_UserSecretshop
      */
-    public function secretshop($save = false) {
+    public function secretshop($save = true) {
         $this->userSecretshop = new Info_UserSecretshop($this->userSecretshop);
         if ($save) {
             self::save_tag("userSecretshop");
@@ -396,7 +219,7 @@ class Data_UserGame extends HashSaver {
      * @param bool $save 是否需要回存
      * @return Info_UserGameHero
      */
-    public function heros($save = false) {
+    public function heros($save = true) {
         $this->heros = new Info_UserGameHero($this->heros);
         if ($save) {
             self::save_tag("heros");
@@ -409,7 +232,7 @@ class Data_UserGame extends HashSaver {
      * @param bool $save 是否需要回存
      * @return Info_PrivateState
      */
-    public function private($save = false) {
+    public function private($save = true) {
         $this->privateState = new Info_PrivateState($this->privateState);
         if ($save) {
             self::save_tag("privateState");
@@ -422,7 +245,7 @@ class Data_UserGame extends HashSaver {
      * @param bool $save 是否需要回存
      * @return Info_UserGateDifficulty
      */
-    public function gates($save = false) {
+    public function gates($save = true) {
         $this->gates = new Info_UserGateDifficulty($this->gates);
         if ($save) {
             self::save_tag("gates");
@@ -435,7 +258,7 @@ class Data_UserGame extends HashSaver {
      * @param bool $save 是否需要回存
      * @return Info_Map
      */
-    public function map($save = false) {
+    public function map($save = true) {
         $this->map = new Info_Map($this->map);
         if ($save) {
             self::save_tag("map");
@@ -448,7 +271,7 @@ class Data_UserGame extends HashSaver {
      * @param bool $save 是否需要回存
      * @return Info_TaskCard_Shop
      */
-    public function taskCardShop($save = false) {
+    public function taskCardShop($save = true) {
         $this->taskCardShop = new Info_TaskCard_Shop($this->taskCardShop);
         if ($save) {
             self::save_tag("taskCardShop");
@@ -461,7 +284,7 @@ class Data_UserGame extends HashSaver {
      * @param bool $save 是否需要回存
      * @return Info_UserPVP
      */
-    public function pvp($save = false) {
+    public function pvp($save = true) {
         $this->pvp = new Info_UserPVP($this->pvp);
         if ($save) {
             self::save_tag("pvp");
@@ -474,7 +297,7 @@ class Data_UserGame extends HashSaver {
      * @param bool $save 是否需要回存
      * @return Data_UserProfile
      */
-    public function profile($save = false) {
+    public function profile($save = true) {
         $this->profile = new Data_UserProfile($this->profile);
         if ($save) {
             self::save_tag("profile");
@@ -487,7 +310,7 @@ class Data_UserGame extends HashSaver {
      * @param bool $save 是否需要回存
      * @return Info_College
      */
-    public function college($save = false) {
+    public function college($save = true) {
         $this->college = new Info_College($this->college);
         if ($save) {
             self::save_tag("college");
@@ -500,7 +323,7 @@ class Data_UserGame extends HashSaver {
      * @param bool $save 是否需要回存
      * @return Info_NewbieGuide
      */
-    public function newbieGuide($save = false) {
+    public function newbieGuide($save = true) {
         $this->NewbieGuide = new Info_NewbieGuide($this->NewbieGuide);
         if ($save) {
             self::save_tag("NewbieGuide");
@@ -513,7 +336,7 @@ class Data_UserGame extends HashSaver {
      * @param bool $save 是否需要回存
      * @return Info_NewbieGuide
      */
-    public function &teamConfig($save = false) {
+    public function &teamConfig($save = true) {
 //        $this->NewbieGuide = new Info_NewbieGuide($this->NewbieGuide);
         if ($save) {
             self::save_tag("heroTeamConfig");

+ 18 - 0
Gameserver/Amfphp/model/User/Info_Store.php

@@ -67,4 +67,22 @@ class Info_Store extends Object_ext {
         return 0;
     }
 
+    /**
+     * 扣除玩家碎片 
+     * @param int $segmentId 碎片ID
+     * @param int $amt  数量
+     * @return boolean true 成功, false 失败
+     */
+    function Consume_HeroSegment($segmentId, $amt) {
+        if ($amt > 0) {
+            if (CommUtil::isPropertyExists($this->items, $segmentId)) {
+                if ($this->items->$segmentId - $amt >= 0) {
+                    $this->items->$segmentId -= $amt;
+                    return true;
+                }
+            }
+        }
+        return false;
+    }
+
 }

+ 140 - 0
Gameserver/Amfphp/model/User/Info_UserBase.php

@@ -120,4 +120,144 @@ class Info_UserBase extends Object_ext {
         $this->img = GameConfig::primordial_data()->User_img;
     }
 
+    // <editor-fold defaultstate="collapsed" desc="  方法  ">
+    // 
+
+    /**
+     * 增加资源点
+     * @param int $amt
+     */
+    function Add_resPoint($amt) {
+        my_Assert($amt >= 0, "参数为负");
+        $this->resPoint += $amt;
+    }
+
+    /**
+     * 扣除资源点 
+     * @param type $amt
+     * @return boolean true:成功, false:资源点不足
+     */
+    function Consume_ResPoint($amt) {
+        if ($amt > 0) {
+            if ($this->resPoint - $amt >= 0) {
+                $this->resPoint -= $amt;
+                return true;
+            }
+        }
+        return false;
+    }
+
+    /**
+     * 给玩家增加体力 
+     * @param int $amt 
+     */
+    function Add_tili($amt) {
+        my_Assert($amt >= 0, "体力amt小于0");
+        ActiveProc::ChangeTili($amt);
+    }
+
+    /**
+     * 用户获得金币 
+     * @param int $amt
+     */
+    function Add_Gold($amt) {
+        my_Assert($amt >= 0, "参数为负");
+        $this->gold += $amt;
+    }
+
+    /**
+     * 扣除玩家金币 
+     * @param int $amt
+     * @return boolean true:成功, false:金币不足
+     */
+    function Consume_Gold($amt) {
+        if ($amt > 0) {
+            if ($this->gold - $amt >= 0) {
+                $this->gold -= $amt;
+                return true;
+            }
+        }
+        return false;
+    }
+
+    /**
+     * 增加用户钻石 
+     * @param type $amt
+     */
+    function Add_Cash($amt) {
+        my_Assert($amt >= 0, "amt值为负");
+        $this->cash += $amt;
+    }
+
+    /**
+     * 扣除玩家钻石 
+     * @param int $amt
+     * @return bool 成功与否
+     */
+    function Consume_Cash($amt) {
+        if ($amt >= 0) {
+            if ($this->cash - $amt >= 0) {
+                $this->cash -= $amt;
+                return true;
+            }
+        }
+        return false;
+    }
+
+    /**
+     * 增加用户友情点
+     * @param type $amt
+     */
+    function Add_FriendPoint($amt) {
+        my_Assert($amt >= 0, "amt值为负");
+        $this->friendPoint += $amt;                                             # 业务逻辑
+    }
+
+    /**
+     * 扣除玩家友情点 
+     * @param int $amt
+     */
+    function Consume_FriendShipPoint($amt) {
+        if ($amt > 0) {
+            if ($this->friendPoint - $amt >= 0) {
+                $this->friendPoint -= $amt;
+                return true;
+            }
+        }
+        return false;
+    }
+
+    /**
+     * 用户获得经验值
+     * @param int $amt
+     */
+    function Add_Exp($amt) {
+        my_Assert($amt >= 0, "amt值为负");
+        $cfgLVs = GameConfig::playerlevel();
+        $this->xp += $amt;
+        $initLevel = $curLevel = $this->level;
+        $nextLevel = $curLevel + 1;
+        while ($this->xp >= $cfgLVs->$nextLevel->xp_need) {                     # 超过升级所需经验
+            if ($this->level < glc()->Game_MaxPlayerLevel) {                    # 如果未到达最大等级
+                $this->level++;
+                $this->xp -= $cfgLVs->$nextLevel->xp_need;
+                $curLevel = $this->level;
+                $nextLevel = $curLevel + 1;
+                my_Assert(CommUtil::isPropertyExists($cfgLVs, $nextLevel), ErrCode::err_const_no); // "取英雄升级常量数据失败." . $nextLevel . "级");
+                $this->maxXp = $cfgLVs->$nextLevel->xp_need;
+//                StatProc::UserLevel($nowlv);                                  # 等级统计 
+            } else {                                                            # 如果已到达最大等级则仅补齐缺失的经验即可
+                $this->xp = $this->maxXp;                                       # 经验不能超过最大值
+                break;
+            }
+        }
+        if ($this->level != $initLevel) {                                       # 插入玩家升级的系统消息
+            SystemProc::UserLevelUp(req()->zoneid, $this, $this->level);
+            TaskProc::OnUserLevelUp($this->level);                              # 通知任务模块,这里应该有事件模块
+            EventProc::OnUserLevelup($initLevel, $this->level);                 # 事件模块
+        }
+    }
+
+    // 
+// </editor-fold>
 }

+ 2 - 1
Gameserver/Amfphp/process/ActiveProc.php

@@ -65,7 +65,8 @@ class ActiveProc {
         my_Assert(!in_array($hour, $privateState->dailyDrawedTiliGift), ErrCode::active_hasgetted); # 判断是否已领取
         $arr = explode(',', glc()->activity_presentTili_times);                 # 判断是否满足领取条件
         my_Assert(in_array($hour, $arr), ErrCode::active_illegal);              # 不满足条件
-        Data_UserGame::Add_tili(glc()->activity_presentTili_number);            # 发放奖励
+//        Data_UserGame::Add_tili(glc()->activity_presentTili_number);            # 发放奖励
+        $user->base()->Add_tili(glc()->activity_presentTili_number);            # 增加体力
         $privateState->dailyDrawedTiliGift[] = $hour;
         req()->userInfo->game->privateState = $privateState;
         UserProc::updateUserInfo();                                             # 回存

+ 6 - 6
Gameserver/Amfphp/process/FightProc/PVPProc.php

@@ -194,12 +194,12 @@ class PVPProc {
      */
     public static function pvpShopRefresh() {
         // 扣除刷新消耗
-        $pvp = new Info_UserPVP(req()->userInfo->game->pvp);
+        $pvp = req()->userInfo->game->pvp();
         $costCash = glc()->PVP_shop_refresh_cash;
-        my_Assert(Data_UserGame::Consume_Cash(req()->userInfo->game->baseInfo, $costCash), ErrCode::notenough_cash_msg);
+        my_Assert(req()->userInfo->game->base()->Consume_Cash($costCash), ErrCode::notenough_cash_msg);
 //        $pvp->shopRefreshTs = now() + glc()->PVP_shop_refresh_interval;         # 更新刷新时间
         $pvp->curShopItems = GameConfig::pvp_shop();                            # 重刷道具
-        req()->userInfo->game->pvp = $pvp;                                       # 回写
+//        req()->userInfo->game->pvp = $pvp;                                       # 回写
         UserProc::updateUserInfo();                                             # 回写玩家数据
         return Resp::ok($pvp);                                                  # 返回
     }
@@ -362,14 +362,14 @@ class PVPProc {
     static function pvp_buyticket() {
         $amt = req()->paras[0];                                                 # 购买数量
         my_Assert($amt > 0, ErrCode::paras_err);                                # 数量>0
-        $pvp = new Info_UserPVP(req()->userInfo->game->pvp);
+        $pvp = req()->userInfo->game->pvp();
         $g = glc();
         $costCash = $g->PVP_pk_ticket_price * $amt;                             # 计算消耗钻石
         my_Assert($costCash > 0, ErrCode::pvp_ticket_cost_ilegal);              # 定价数据异常
-        my_Assert(Data_UserGame::Consume_Cash(req()->userInfo->game->baseInfo, $costCash), ErrCode::notenough_cash_msg);    # 扣除钻石失败
+        my_Assert(req()->userInfo->game->base()->Consume_Cash($costCash), ErrCode::notenough_cash_msg);    # 扣除钻石失败
 
         $pvp->fightTicket += $amt;                                              # 发放挑战票
-        req()->userInfo->game->pvp = $pvp;
+//        req()->userInfo->game->pvp = $pvp;
         UserProc::updateUserInfo();                                             # 回写玩家数据
         $ret = array(
             'fightTicket' => $pvp->fightTicket,

+ 6 - 4
Gameserver/Amfphp/process/FightProc/SweepGatesProc.php

@@ -152,7 +152,8 @@ class SweepGatesProc {
 
 //        $rewardArr = self::SetRewards($req, $rewardStr);                        # 发通关奖励 
 //        Data_UserGame::Add_Gold($req->userInfo->game->baseInfo, $gold);         # 发金币
-        Data_UserGame::Add_Exp(req()->userInfo->game->baseInfo, $exp);           # 给玩家(指挥官)增加经验
+//        Data_UserGame::Add_Exp(req()->userInfo->game->baseInfo, $exp);           # 给玩家(指挥官)增加经验
+        req()->userInfo->game->base()->Add_Exp($exp);                           # 给玩家(指挥官)增加经验
         foreach ($TeamObj as $heroUID) {
             if ($heroUID > 0) {
                 echoLine("$heroUID");
@@ -337,10 +338,11 @@ class SweepGatesProc {
                 $rwds[] = "$itemid,$num";
             }
         }
-
-        Data_UserGame::Add_Gold($user->baseInfo, $gold);                        # 发放金币奖励
+        $user->base()->Add_Gold($gold);                                         # 发放金币奖励
+//        Data_UserGame::Add_Gold($user->baseInfo, $gold);                        # 发放金币奖励
         my_Assert(ErrCode::ok == $err, $err);                                   # 失败
-        Data_UserGame::Add_Exp($user->baseInfo, $exp);                          # 发放经验奖励
+//        Data_UserGame::Add_Exp($user->baseInfo, $exp);                          # 发放经验奖励
+        $user->base()->Add_Exp($exp);                                           # 发放经验奖励
         UserProc::updateUserInfo();                                             # 在获取战利品哪里已经update了.
         $result = array(
             'store' => $user->store,

+ 15 - 11
Gameserver/Amfphp/process/HeroProc.php

@@ -95,7 +95,9 @@ class HeroProc {
 
         $sm = GameConfig::subSkill_getItem($subSkillId);                        # 4.取出该技能升级消耗的常量数据
         my_Assert(null != $sm, ErrCode::err_const_no);                          # 找不到子技能配置数据 
-        my_Assert(Data_UserGame::Consume_Gold($user->baseInfo, $sm->unlockCost), #        # 5. 扣除金币消耗
+//        my_Assert(Data_UserGame::Consume_Gold($user->baseInfo, $sm->unlockCost), #        # 5. 扣除金币消耗
+//                ErrCode::notenough_gold_msg);
+        my_Assert($user->base()->Consume_Gold($sm->unlockCost), #               # 5. 扣除金币消耗
                 ErrCode::notenough_gold_msg);
         array_push($targteHeroSkills->$mainSkillId, $subSkillId);               # 添加技能
         $targetHero->subSkills = $targteHeroSkills;
@@ -127,7 +129,7 @@ class HeroProc {
 //        if (null == $sm) {
 //            return \Resp::err(ErrCode::err_const_no, '找不到子技能配置数据');
 //        }
-        my_Assert(Data_UserGame::Consume_Gold($user->baseInfo, $costGold), ErrCode::notenough_gold_msg); # 5. 扣除金币消耗
+        my_Assert($user->base()->Consume_Gold($costGold), ErrCode::notenough_gold_msg); # 5. 扣除金币消耗
         unset($targteHeroSkills->$mainSkillId, $subSkillId);                    # 替换技能
         array_push($targteHeroSkills->$mainSkillId, $targetSubSkillId);
         $targetHero->subSkills = $targteHeroSkills;
@@ -154,7 +156,7 @@ class HeroProc {
 
         $sm = GameConfig::subSkill_getItem($subSkillId);                        # 4.取出该技能升级消耗的常量数据
         my_Assert(null != $sm, ErrCode::err_const_no);                          # 找不到子技能配置数据
-        my_Assert(Data_UserGame::Consume_Gold($user->baseInfo, $sm->upgradeCost), ErrCode::notenough_gold_msg);  # 5. 扣除金币消耗
+        my_Assert($user->base()->Consume_Gold($sm->upgradeCost), ErrCode::notenough_gold_msg);  # 5. 扣除金币消耗
 
         unset($targteHeroSkills->$mainSkillId, $subSkillId);                    # 替换技能
         array_push($targteHeroSkills->$mainSkillId, $sm->nextLevel_Id);
@@ -182,8 +184,10 @@ class HeroProc {
         $heroUpgradeCostCfg = GameConfig::heroextra_level_getItem($upHero->typeId, $nextGrade);
 
         my_Assert($heroUpgradeCostCfg, ErrCode::hero_strength_cost_const_no);    # 1.检查是否存在这个升阶数据的模板
-        my_Assert(Data_UserGame::Consume_HeroSegment($user, #                    # 扣除碎片  
-                        $heroUpgradeCostCfg->segID, $heroUpgradeCostCfg->segNum), ErrCode::hero_segment_not_enough);                              # 碎片数量不足
+//        my_Assert(Data_UserGame::Consume_HeroSegment($user, #                    # 扣除碎片  
+//                        $heroUpgradeCostCfg->segID, $heroUpgradeCostCfg->segNum), ErrCode::hero_segment_not_enough);
+        my_Assert($user->store()->Consume_HeroSegment($heroUpgradeCostCfg->segID, $heroUpgradeCostCfg->segNum), # 扣除碎片  
+                ErrCode::hero_segment_not_enough); # 碎片数量不足
         # 扣除碎片成功
         $upHero->grade = $nextGrade;                                            # 5.强化英雄进行成功升阶 
         $collectHeros->$huid = $upHero;                                         # 更新Hero数据
@@ -361,13 +365,13 @@ class HeroProc {
                 $realPrice = $heroCfg->cashPrice;
                 my_Assert($realPrice == $costMoneyNum, ErrCode::paras_err);
                 my_Assert($costMoneyNum >= 0, ErrCode::paras_err);
-                my_Assert(Data_UserGame::Consume_Cash($user->baseInfo, $costMoneyNum), ErrCode::err_msg_cashnotenough);
+                my_Assert($user->base()->Consume_Cash($costMoneyNum), ErrCode::err_msg_cashnotenough);
                 break;
             case "gold":
                 $realPrice = $heroCfg->goldPrice;
                 my_Assert($realPrice == $costMoneyNum, ErrCode::paras_err);
                 my_Assert($costMoneyNum >= 0, ErrCode::paras_err);
-                my_Assert(Data_UserGame::Consume_Gold($user->baseInfo, $costMoneyNum), ErrCode::err_msg_goldnotenough);
+                my_Assert($user->base()->Consume_Gold($costMoneyNum), ErrCode::err_msg_goldnotenough);
                 break;
             default :
                 Err(ErrCode::paras_err, "参数错误: [costType] " . $costType);
@@ -400,7 +404,7 @@ class HeroProc {
         $realCost = $arr[$index];
         my_Assert($realCost == $costCash, ErrCode::paras_err);                  # 参数错误
         my_Assert($costCash >= 0, ErrCode::paras_err);
-        my_Assert(Data_UserGame::Consume_Cash($user->baseInfo, $costCash), ErrCode::err_msg_goldnotenough); # 扣除宝石
+        my_Assert($user->base()->Consume_Cash($costCash), ErrCode::err_msg_goldnotenough); # 扣除宝石
         $user->heros->maxCollectCount += $buyNum;                               # 修改上限
         UserProc::updateUserInfo();
         return Resp::ok(array(
@@ -655,9 +659,9 @@ class HeroProc {
             $goldNum += $mo->goldCost;
             $pointNum += $mo->pointCost;
         }
-        my_Assert(Data_UserGame::Consume_Gold(req()->userInfo->game->baseInfo, $goldNum), ErrCode::notenough_gold_msg);
-        my_Assert(Data_UserGame::Consume_ResPoint(req()->userInfo->game->baseInfo, $pointNum), ErrCode::notenough_resPoint);
-
+        my_Assert(req()->userInfo->game->base()->Consume_Gold($goldNum), ErrCode::notenough_gold_msg);
+//        my_Assert(Data_UserGame::Consume_ResPoint(req()->userInfo->game->baseInfo, $pointNum), ErrCode::notenough_resPoint);
+        my_Assert(req()->userInfo->game->base()->Consume_ResPoint($pointNum), ErrCode::notenough_resPoint);
         $store->yanling->$yanlingUid->level += $type;                           # 增加等级
         if ($store->yanling->$yanlingUid->level > $maxLevel) {
             $store->yanling->$yanlingUid->level = $maxLevel;

+ 5 - 5
Gameserver/Amfphp/process/PayProc.php

@@ -280,7 +280,7 @@ class PayProc {
                 }                                                               # 可以继续刷新,
                 $cishu = $userSecretshop->refreshedTimes + 1;                   # 下次
                 $amt = GameConfig::secretshop_refresh_getItem($cishu)->price;
-                if (!Data_UserGame::Consume_Cash($user->baseInfo, $amt)) {                # 扣除本次所需费用, 余额不足, 返回错误信息
+                if (!$user->base()->Consume_Cash($amt)) {                       # 扣除本次所需费用, 余额不足, 返回错误信息
                     return Resp::err(ErrCode::notenough_cash_msg);
                 }
                 $userSecretshop->refreshedTimes++;                              # 增加当天付费刷新计数
@@ -390,10 +390,10 @@ class PayProc {
         $amt = $shopItem->price * pow(2, $cishu);                               # 计算价格
         switch ($shopItem->pricetype) {
             case 1:
-                my_Assert(Data_UserGame::Consume_Cash($user->baseInfo, $amt), ErrCode::notenough_cash_msg); # 扣除钻石
+                my_Assert($user->base()->Consume_Cash($amt), ErrCode::notenough_cash_msg); # 扣除钻石
                 break;
             case 2:
-                my_Assert(Data_UserGame::Consume_Gold($user->baseInfo, $amt), ErrCode::notenough_gold_msg); # 扣除金币
+                my_Assert($user->base()->Consume_Gold($amt), ErrCode::notenough_gold_msg); # 扣除金币
                 break;
             default :
                 return Resp::err(ErrCode::pay_m_type_err);
@@ -451,11 +451,11 @@ class PayProc {
         $bDeal = false;                                                         # 成交标志位
         switch ($paytype) {                                                     # 1. 钻石, 2. 金币, other:非法
             case 1:                                                             # 钻石
-                $bDeal = Data_UserGame::Consume_Cash(req()->userInfo->game->baseInfo, $amt);   # 更新(扣除)玩家游戏币(钻石)余额
+                $bDeal = req()->userInfo->game->base()->Consume_Cash($amt);     # 更新(扣除)玩家游戏币(钻石)余额
                 my_Assert($bDeal, ErrCode::notenough_cash_msg);                 # 防范扣除失败
                 break;
             case 2:                                                             # 金币
-                $bDeal = Data_UserGame::Consume_Gold($user->baseInfo, $amt * $num);        # 更新玩家金币余额
+                $bDeal = $user->base()->Consume_Gold($amt * $num);        # 更新玩家金币余额
                 my_Assert($bDeal, ErrCode::notenough_gold_msg);                 # 防范扣除失败
                 break;
             default :                                                           # 未知的支付类型

+ 13 - 7
Gameserver/Amfphp/process/StoreProc.php

@@ -291,19 +291,24 @@ class StoreProc {
             $smItem = GameConfig::item_base_getItem($itemId);                   # 道具mo
             switch ($smItem->subType) {                                         # 根据类型分别添加到容器中
                 case META_EXP:                                                  # 指挥官经验
-                    Data_UserGame::Add_Exp($user->baseInfo, $num);
+//                    Data_UserGame::Add_Exp($user->baseInfo, $num);
+                    $user->base()->Add_Exp($num);                               # 加指挥官经验
                     break;
                 case META_GOLD_ITEMID:                                          # 金币
-                    Data_UserGame::Add_Gold($user->baseInfo, $num);
+//                    Data_UserGame::Add_Gold($user->baseInfo, $num);
+                    $user->base()->Add_Gold($num);                              # 增加金币
                     break;
                 case META_CASH_ITEMID:                                          # 钻石
-                    Data_UserGame::Add_Cash($user->baseInfo, $num);
+//                    Data_UserGame::Add_Cash($user->baseInfo, $num);
+                    $user->base()->Add_Cash($num);                              # 增加钻石
                     break;
                 case META_tili_ITEMID:                                          # 体力       
-                    Data_UserGame::Add_tili($num);
+//                    Data_UserGame::Add_tili($num);
+                    $user->base()->Add_tili($num);                              # 增加体力
                     break;
                 case META_FriendShipPoit_ItemId:                                # 友情值
-                    Data_UserGame::Add_FriendPoint($user->baseInfo, $num);
+//                    Data_UserGame::Add_FriendPoint($user->baseInfo, $num);
+                    $user->base()->Add_FriendPoint($num);                       # 加友情点
                     break;
                 case META_PVPCOIN_ITEMID:                                       # 竞技币
                     $user->pvp->pvpCoins += $num;
@@ -312,7 +317,8 @@ class StoreProc {
 //                    $user->task->dailyActivePoint += $num;                    # 每日任务活跃点
                     break;
                 case META_RESPOINT_ITEMID:
-                    Data_UserGame::Add_resPoint($user->baseInfo, $num);         # 资源点添加
+                    $user->baseInfo->Add_resPoint($num);                        # 增加资源点
+//                    Data_UserGame::Add_resPoint($user->baseInfo, $num);         # 资源点添加
                     break;
                 case 101:                                                       # 武器 
                     for ($n = 0; $n < $num; $n++) {
@@ -728,7 +734,7 @@ class StoreProc {
         }
         $costCash = glc()->Item_Packet_NumCostCash;                             # 钻石花费
         my_Assert($costCash > 0, ErrCode::paras_err);
-        my_Assert(Data_UserGame::Consume_Cash($user->baseInfo, $costCash), ErrCode::notenough_cash_msg); # 6.进行消耗
+        my_Assert($user->base()->Consume_Cash($costCash), ErrCode::notenough_cash_msg); # 6.进行消耗
 
         $user->privateState->maxItemNum += 10;                                  # 扩容
         UserProc::updateUserInfo();                                             # 保存玩家数据

+ 1 - 1
Gameserver/Amfphp/process/SystemProc.php

@@ -200,7 +200,7 @@ class SystemProc {
             case 1:                                                             # 钻石
                 $cost = glc()->SystemMessage_UserSendToMyZone_Cost;
                 my_Assert($cost, ErrCode::err_msg_usersnedmsg_errorcost);
-                my_Assert(Data_UserGame::Consume_Cash($user->baseInfo, $cost), ErrCode::notenough_cash_msg);
+                my_Assert($user->base()->Consume_Cash($cost), ErrCode::notenough_cash_msg);
                 break;
             default :
                 Err(ErrCode::paras_err);                                        // 其他类型:参数非法

+ 14 - 12
Gameserver/Amfphp/process/TaskProc.php

@@ -108,10 +108,10 @@ class TaskProc {
 //                my_Assert(Data_UserGame::Consume_Cash($userInfo->baseInfo, $shopItemMo->price), ErrCode::notenough_cash_msg); # 扣除费用
                 break;
             case 1:                                    # 钻石
-                my_Assert(Data_UserGame::Consume_Cash($userInfo->baseInfo, $shopItemMo->price), ErrCode::notenough_cash_msg); # 扣除费用
+                my_Assert($userInfo->base()->Consume_Cash($shopItemMo->price), ErrCode::notenough_cash_msg); # 扣除费用
                 break;
             case 2:                                    # 金币
-                my_Assert(Data_UserGame::Consume_Gold($userInfo->baseInfo, $shopItemMo->price), ErrCode::notenough_gold_msg); # 扣除费用
+                my_Assert($userInfo->base()->Consume_Gold($shopItemMo->price), ErrCode::notenough_gold_msg); # 扣除费用
                 break;
             default:                                   # 其它
                 Err(ErrCode::pay_m_type_err);                                   # 定价类型异常
@@ -136,7 +136,7 @@ class TaskProc {
         $cost = GameConfig::globalsettings()->TaskCardShop_Refresh_Cash;        # 消耗
         $userInfo = req()->userInfo->game;
 //        var_dump(Data_UserGame::Consume_Cash($userInfo->baseInfo, $cost));
-        my_Assert(Data_UserGame::Consume_Cash($userInfo->baseInfo, $cost), ErrCode::notenough_cash_msg); # 扣除费用
+        my_Assert($userInfo->base()->Consume_Cash($cost), ErrCode::notenough_cash_msg); # 扣除费用
         // 刷新任务卡
         $arr = (array) GameConfig::taskcard_shop();                             # 奖池配置
         $arr = self::FilterPrizepool($arr);                               # 利用玩家等级进行过滤
@@ -361,15 +361,15 @@ class TaskProc {
         $store = req()->userInfo->game->store;                                   # 快速访问store
         my_Assert(StlUtil::dictHasProperty($store->taskcards, $taskCardUID), ErrCode::taskCard_no); # 防御找不到实例
         $taskCard = new Ins_TaskCard($store->taskcards->$taskCardUID);          # 任务卡对象
-      
-        if($taskCard->mo()->cost != null){
-            $sList = explode(';',$taskCard->mo()->cost);            
+
+        if ($taskCard->mo()->cost != null) {
+            $sList = explode(';', $taskCard->mo()->cost);
             foreach ($sList as $item) {
-                $str = explode(',', $item);              
-                StoreProc::removeItemFromStore($store, $str[0],$str[1]);
+                $str = explode(',', $item);
+                StoreProc::removeItemFromStore($store, $str[0], $str[1]);
             }
         }
-        
+
         foreach ($taskCard->curSteps as &$tsp) {                                # 初期里面只有一个任务
             $tsp = new Ins_TaskStep($tsp);
             if ($tsp->mo()->cmd == Enum_TaskCmdType::GainItem) {                # 如果是道具收集类的, 扣除所收集道具
@@ -381,8 +381,9 @@ class TaskProc {
             StoreProc::AddMultiItemInStore($taskCard->mo()->reward);      # 发放奖励
         }
         if ($taskCard->mo()->exp > 0) {                                         # 任务卡增加了指挥官经验
-            Data_UserGame::Add_Exp(req()->userInfo->game->baseInfo, $taskCard->mo()->exp);
-        }                 
+//            Data_UserGame::Add_Exp(req()->userInfo->game->baseInfo, $taskCard->mo()->exp);
+            req()->userInfo->game->base()->Add_Exp($taskCard->mo()->exp);       # 加指挥官经验
+        }
         $taskCard->state = Enum_TaskCardStateType::drawed;
         //2021-3-4
         $college = new Info_College(req()->userInfo->game->college);
@@ -512,7 +513,8 @@ class TaskProc {
                 my_Assert($task->rewardGeted < 1, ErrCode::task_reward_geted);          # 奖励不可重复领取
                 $taskCfg = GameConfig::task_daily_getItem($taskId);                     # 任务配置数据
                 my_Assert($taskCfg != null, ErrCode::err_const_no);
-                Data_UserGame::Add_Exp(req()->userInfo->game->baseInfo, $taskCfg->exp);  # 发放任务奖励 
+//                Data_UserGame::Add_Exp(req()->userInfo->game->baseInfo, $taskCfg->exp);  # 发放任务奖励 
+                req()->userInfo->game->base()->Add_Exp($taskCfg->exp);          # 发放指挥官经验
                 $userTask->dailyActivePoint += $taskCfg->activePoint;
                 $task->rewardGeted = 1;
                 $userTask->taskListDaily->$taskId = $task;                      # 回存下

+ 2 - 2
Gameserver/Amfphp/process/UserProc.php

@@ -84,10 +84,10 @@ class UserProc {
      * [6010] 设置/修改玩家昵称 
      */
     static function SetUserNickname() {
-        list($newname) = req()->paras;                                           # 参数: 新昵称, 头像
+        list($newname) = req()->paras;                                          # 参数: 新昵称, 头像
         my_Assert(isset(glc()->User_SetNickname_Cost), "全局变量中未找到改名消耗钻石数量的配置字段");
         $amt = glc()->User_SetNickname_Cost;                                    # 改名需要消耗钻石
-        $ok = Data_UserGame::Consume_Cash(req()->userInfo->game->baseInfo, $amt); # 扣除钻石
+        $ok = req()->userInfo->game->base()->Consume_Cash($amt);                # 扣除钻石
         my_Assert($ok, ErrCode::notenough_cash_msg);
         my_Assert(self::checkRoleNameNotExist($newname), ErrCode::user_nicknameexist); # 昵称已存在
         req()->userInfo->game->baseInfo->name = $newname;