Explorar o código

接口解注释

cyzhao hai 1 ano
pai
achega
ceb737dbff

+ 21 - 0
Gameserver/App/model/User/EnumShopGift.php

@@ -28,3 +28,24 @@ class EnumShopGift extends Enum{
     const Gold_Shop = 6;
 
 }
+
+class EnumShopCost extends Enum{
+    
+    /**
+     * 免费
+     */
+    const Free = 1;
+    
+    /**
+     * 金币
+     */
+    const Gold = 2;
+    
+    /**
+     *  钻石
+     */
+    const Cash = 3;
+    
+    const Item = 4;
+
+}

+ 31 - 0
Gameserver/App/model/User/Ins_JunBeiShop.php

@@ -0,0 +1,31 @@
+<?php
+
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+namespace loyalsoft;
+
+/**
+ * Description of Ins_JunBeiShop
+ *
+ * @author c'y'zhao
+ */
+class Ins_JunBeiShop {
+    
+    public $typeId;
+
+    /**
+     * 购买次数
+     * @var type
+     */
+    public $num_one;
+
+    /**
+     * 买10次的次数
+     * @var type
+     */
+    public $num_ten;
+}

+ 21 - 16
Gameserver/App/process/ShopProc.php

@@ -22,14 +22,14 @@ class ShopProc {
     public static function procMain($req) {
         switch ($req->cmd) {
             case CmdCode::cmd_shop_BuyGift:                                     # 6501 商城购买东西
-                return StoreProc::ShopBuyGift();             
+                return ShopProc::ShopBuyGift();             
             default:
                 Err(ErrCode::cmd_err);
         }
     }
     
     /**
-     * 装备
+     * 商城购买东西
      * @return type
      */
     public static function ShopBuyGift() {
@@ -45,26 +45,30 @@ class ShopProc {
                 
                 StoreProc::AddMultiItemInStore($mo->reward);
                 ctx()->privateState->gateGiftReceived[] = $typeId;
+                
+                ctx()->baseInfo->charge_amt += $mo->curPrice;
                 break;
             case EnumShopGift::Daily_Shop://每日商店                             
                 $mo = GameConfig::shop_daily_getItem($typeId);
                 my_Assert($mo != null, ErrCode::err_const_no);   
                 
-                my_Assert(in_array($typeId, $user->privateState->dailyShopRandItems), ErrCode::err_const_no);   
-                
-                $index = 0;
-                if(in_array($typeId, $user->privateState->dailyShopReceived)){
-                    foreach ($user->privateState->dailyShopReceived as $val) {
-                        if($val == $typeId){
-                            $index += 1;
-                        }
-                    }
-                                       
+                my_Assert(in_array($typeId, $user->privateState->dailyShopRandItems), ErrCode::err_const_no);                                            
+                my_Assert(!in_array($typeId, $user->privateState->dailyShopReceived), ErrCode::user_shop_NotRepeatBuy);   
+                                                                                  
+                switch ($mo->costType) {                    
+                    case EnumShopCost::Gold:
+                        my_Assert($user->baseInfo->gold>= $mo->costNum, ErrCode::err_const_no); 
+                        ctx()->baseInfo->Consume_Gold($mo->costNum);
+                        break;
+                    case EnumShopCost::Cash:
+                        my_Assert($user->baseInfo->cash>= $mo->costNum, ErrCode::err_const_no); 
+                        ctx()->baseInfo->Consume_Cash($mo->costNum);
+                        break;
+                    default:
+                        break;
                 }
-                my_Assert($index<= $mo->limitNum, ErrCode::user_shop_LimitNum);
                 
-                $str = $typeId.',1';
-                StoreProc::AddMultiItemInStore($str);
+                StoreProc::AddMultiItemInStore($mo->reward);
                 ctx()->privateState->dailyShopReceived[] = $typeId;
                 
                 break;
@@ -95,6 +99,7 @@ class ShopProc {
                       
         UserProc::updateUserInfo();
         return Resp::ok(array(                   
+                    'base'=>$user->baseInfo,
                     'privateState' => $user->privateState,                   
                     'store' => $user->store,));
         
@@ -104,7 +109,7 @@ class ShopProc {
      * 商城每日重置
      */
     public static function ShopDailyClear() {
-        
+        ctx()->privateState->dailyShopReceived = array();
     }
     
     /**

+ 72 - 72
Gameserver/App/process/StoreProc.php

@@ -44,21 +44,21 @@ class StoreProc {
         list($uid) = req()->paras;
         $user = ctx();
 
-//        my_Assert(StlUtil::dictHasProperty($user->store->equip, $uid), ErrCode::user_store_NoEquip);                  
-//               
-//        $mo = GameConfig::equip_getItem($user->store->equip->$uid->typeId);
-//        my_Assert($mo != null, ErrCode::err_const_no);
-//        $posId = $mo->position;
-//        
-//        $heroId = $user->heros->CurrentHeroId;
-//        
-//        $user->store->equip->$uid->posId = $posId;             
-//        if($user->heros->Dic->$heroId->equipPosition->$posId > 0){
-//            $oldUid = $user->heros->Dic->$heroId->equipPosition->$posId;
-//            $user->store->equip->$oldUid->posId = 0;            
-//        }
-//        
-//        $user->heros->Dic->$heroId->equipPosition->$posId = $uid;
+        my_Assert(StlUtil::dictHasProperty($user->store->equip, $uid), ErrCode::user_store_NoEquip);                  
+               
+        $mo = GameConfig::equip_getItem($user->store->equip->$uid->typeId);
+        my_Assert($mo != null, ErrCode::err_const_no);
+        $posId = $mo->position;
+        
+        $heroId = $user->heros->CurrentHeroId;
+        
+        $user->store->equip->$uid->posId = $posId;             
+        if($user->heros->Dic->$heroId->equipPosition->$posId > 0){
+            $oldUid = $user->heros->Dic->$heroId->equipPosition->$posId;
+            $user->store->equip->$oldUid->posId = 0;            
+        }
+        
+        $user->heros->Dic->$heroId->equipPosition->$posId = $uid;
                       
         UserProc::updateUserInfo();
         return Resp::ok(array(                   
@@ -75,12 +75,12 @@ class StoreProc {
         list($posId) = req()->paras; 
         $user = ctx();
 
-//        $heroId = $user->heros->CurrentHeroId;
-//        if($user->heros->Dic->$heroId->equipPosition->$posId > 0){
-//            $oldUid = $user->heros->Dic->$heroId->equipPosition->$posId;
-//            $user->store->equip->$oldUid->posId = 0;      
-//            $user->heros->Dic->$heroId->equipPosition->$posId = 0;
-//        }
+        $heroId = $user->heros->CurrentHeroId;
+        if($user->heros->Dic->$heroId->equipPosition->$posId > 0){
+            $oldUid = $user->heros->Dic->$heroId->equipPosition->$posId;
+            $user->store->equip->$oldUid->posId = 0;      
+            $user->heros->Dic->$heroId->equipPosition->$posId = 0;
+        }
               
         UserProc::updateUserInfo();
         return Resp::ok(array(
@@ -98,18 +98,18 @@ class StoreProc {
         list($uid) = req()->paras; //mask = 1:表示战斗中掉落
         $user = ctx();
 
-//        $lv = $user->store->equip->$uid->level;            
-//        $Mo = GameConfig::equip_levelupgrade_getItem($lv+1);         
-//        my_Assert($user->baseInfo->gold >= $Mo->needGold, ErrCode::notenough_gold_msg);                  
-//                 
-//        $typeId = GameConfig::equip_getItem($user->store->equip->$uid->typeId)->needTuzhiId;//图纸
-//        $num = $Mo->needItemNum;
-//        if (StlUtil::dictHasProperty($user->store->items,$typeId) && $user->store->items->$typeId >= $num)
-//        {
-//            $user->store->removeItem($typeId, $num);
-//        }                  
-//
-//        $user->store->equip->$uid->level += 1;       
+        $lv = $user->store->equip->$uid->level;            
+        $Mo = GameConfig::equip_levelupgrade_getItem($lv+1);         
+        my_Assert($user->baseInfo->gold >= $Mo->needGold, ErrCode::notenough_gold_msg);                  
+                 
+        $typeId = GameConfig::equip_getItem($user->store->equip->$uid->typeId)->needTuzhiId;//图纸
+        $num = $Mo->needItemNum;
+        if (StlUtil::dictHasProperty($user->store->items,$typeId) && $user->store->items->$typeId >= $num)
+        {
+            $user->store->removeItem($typeId, $num);
+        }                  
+
+        $user->store->equip->$uid->level += 1;       
         
         UserProc::updateUserInfo();
         return Resp::ok(array(
@@ -125,49 +125,49 @@ class StoreProc {
         list($uid) = req()->paras; //mask = 1:表示战斗中掉落
         $user = ctx();     
        
-//        $equip = $user->store->equip->$uid;
-//
-//        $lv = $equip->level;
-//        $maxLv = GameConfig::equip_getItem($equip->typeId)->maxLv;
-//                 
-//        $need_gold = 0;
-//        $need_item = 0;
-//
-//        $itemNum = 0;
-//        $tuzhiId = GameConfig::equip_getItem($equip->typeId)->needTuzhiId;
-//        $needItem2 = 0;
-//        if (StlUtil::dictHasProperty($user->store->items,$tuzhiId))
-//        {
-//            $itemNum = $user->store->items->$tuzhiId;
-//        }                  
-//
-//        $nGold = 0;
-//        $ll = 0;
-//        for ($i = $lv+1; $i <= $maxLv; $i++)
-//        {                      
-//            $nGold += GameConfig::equip_levelupgrade_getItem($i)->needGold;                 
-//            $needItem2 += GameConfig::equip_levelupgrade_getItem($i)->needItemNum;
-//            if ($user->baseInfo->gold >= $nGold &&  $itemNum >= $needItem2)
-//            {
-//                $need_gold = $nGold;
-//                $need_item = $needItem2;
-//                $ll = $i;
-//                continue;
-//            }
-//
-//            break;
-//
-//        }        
-//
-//        $user->baseInfo->gold -= $need_gold;
-//        $user->store->items->$tuzhiId -= $need_item;
-//        $user->store->equip->$uid->level += $ll;
+        $equip = $user->store->equip->$uid;
+
+        $lv = $equip->level;
+        $maxLv = GameConfig::equip_getItem($equip->typeId)->maxLv;
+                 
+        $need_gold = 0;
+        $need_item = 0;
+
+        $itemNum = 0;
+        $tuzhiId = GameConfig::equip_getItem($equip->typeId)->needTuzhiId;
+        $needItem2 = 0;
+        if (StlUtil::dictHasProperty($user->store->items,$tuzhiId))
+        {
+            $itemNum = $user->store->items->$tuzhiId;
+        }                  
+
+        $nGold = 0;
+        $ll = 0;
+        for ($i = $lv+1; $i <= $maxLv; $i++)
+        {                      
+            $nGold += GameConfig::equip_levelupgrade_getItem($i)->needGold;                 
+            $needItem2 += GameConfig::equip_levelupgrade_getItem($i)->needItemNum;
+            if ($user->baseInfo->gold >= $nGold &&  $itemNum >= $needItem2)
+            {
+                $need_gold = $nGold;
+                $need_item = $needItem2;
+                $ll = $i;
+                continue;
+            }
+
+            break;
+
+        }        
+
+        $user->baseInfo->gold -= $need_gold;
+        $user->store->items->$tuzhiId -= $need_item;
+        $user->store->equip->$uid->level += $ll;
                      
         UserProc::updateUserInfo();
         return Resp::ok(array(
-                    //'gold' => $user->baseInfo->gold,
+                    'gold' => $user->baseInfo->gold,
                     //'tili' => $user->baseInfo->tili,
-                    //'store' => $user->store,                   
+                    'store' => $user->store,                   
                     ));
         
     }

+ 1 - 1
Gameserver/App/process/UserProc.php

@@ -254,7 +254,7 @@ class UserProc {
      * @param bool $isnew Description
      */
     static function OnNewDay($isnew) {
-        //ShopProc::DailyShopItemRand();
+        ShopProc::DailyShopItemRand();
         ShopProc::ShopDailyClear();
     }