Selaa lähdekoodia

装备,卸下

cyzhao 7 kuukautta sitten
vanhempi
commit
21604d99e1

+ 10 - 0
Gameserver/App/base/CmdCode.php

@@ -273,6 +273,16 @@ class CmdCode {
      * 洗练
      */
     const store_gemXiLian = 6413;
+    
+    /**
+     * 安装装备
+     */
+    const store_equiped = 6414;
+    /**
+     * 卸下装备
+     */
+    const store_remove_equip = 6415;
+    
 // </editor-fold>
 // <editor-fold defaultstate="collapsed" desc="商城操作码 - 65xx">
 

+ 5 - 0
Gameserver/App/base/ErrCode.php

@@ -476,6 +476,11 @@ class ErrCode {
      * 装备等级已经达到最大值
      */
     const user_store_equipLevelLimit = 3310;
+    
+    /**
+     * 不存在该装备
+     */
+    const user_store_NotExistEquip = 3311; 
 // </editor-fold>
 //
 //   // <editor-fold defaultstate="collapsed" desc="    shop 3400    ">

+ 9 - 1
Gameserver/App/model/User/Info_Store.php

@@ -47,11 +47,17 @@ class Info_Store extends Object_ext {
     public $equip;
     
     /**
-     * 装备部位
+     * 装备部位--废弃
      * @var \stdClass()
      */
     public $equipPosition;
     
+    /**
+     * 6个装备部位
+     * @var type
+     */
+    public $equipLocation;
+    
     /**
      * 宝石装备的信息
      * @var \stdClass()
@@ -75,6 +81,8 @@ class Info_Store extends Object_ext {
             $this->items = new \stdClass();
             $this->gemStore = new \stdClass();
             $this->equip = new \stdClass();
+            $this->equipLocation = new \stdClass();
+            
             $this->equipPosition = new \stdClass();
             for ($i = 1; $i <=6; $i++) {
                 $equip =  new Ins_EquipPosition();

+ 53 - 22
Gameserver/App/process/StoreProc.php

@@ -25,37 +25,68 @@ class StoreProc {
             case CmdCode::cmd_store_put:                                        # 6401 放入仓库
                 return StoreProc::AddItemInStore();
             case CmdCode::cmd_store_gemSet:                                     # 6402 装备宝石
-                return StoreProc::gemSet();
+                return StoreProc::GemSet();
             case CmdCode::cmd_store_gemRemove:                                  # 6403 卸下装备宝石
-                return StoreProc::gemRemove();
+                return StoreProc::GemRemove();
             case CmdCode::cmd_store_equipUpgrade:                               # 6404 装备升级
-                return StoreProc::equipUpgrade();
+                return StoreProc::EquipUpgrade();
             case CmdCode::cmd_store_equipUpgrade_MaxLv:                         # 6405 一键升级(装备)
-                return StoreProc::equipUpgrade_MaxLv();
+                return StoreProc::EquipUpgrade_MaxLv();
             case CmdCode::store_gemCompose:                                     # 6406 宝石合成
-                return StoreProc::gemCompose();
+                return StoreProc::GemCompose();
             case CmdCode::store_switchEquipPag:                                 # 6408 切换装备分页
-                return StoreProc::switchEquipPag();
+                return StoreProc::SwitchEquipPag();
             case CmdCode::store_gemLockState:                                   # 6409 宝石开锁解锁
-                return StoreProc::gemLockState();
+                return StoreProc::GemLockState();
             case CmdCode::store_equip_removeEquipUpgradeTip:                    # 6410 移除装备可以升级绿点提示
-                return StoreProc::removeEquipUpgradeTip();
+                return StoreProc::RemoveEquipUpgradeTip();
             case CmdCode::store_equip_removeNewGemTip:                          # 6411 移除是新宝石绿点提示
-                return StoreProc::removeNewGemTip();
+                return StoreProc::RemoveNewGemTip();
             case CmdCode::store_allEquipUpgrade:                                # 6412 所有装备的一键升级
-                return StoreProc::allEquipUpgrade();
+                return StoreProc::AllEquipUpgrade();
             case CmdCode::store_gemXiLian:                                      # 6413 洗练
-                return StoreProc::gemXiLian();
+                return StoreProc::GemXiLian();
+            case CmdCode::store_equiped:                                        # 6413 装备
+                return StoreProc::Equiped();    
+            case CmdCode::store_remove_equip:                                   # 6413 卸下装备
+                return StoreProc::RemoveEquip();    
             default:
                 Err(ErrCode::cmd_err);
         }
     }
+    
+    public static function Equiped() {
+        list($uid) = req()->paras;
+        
+        $equipDic = ctx()->store->equip;
+        my_Assert(StlUtil::dictHasProperty($equipDic, $uid), ErrCode::user_store_NotExistEquip);
+        $ins_equip = new Ins_Equip($equipDic->$uid);
+        $posId = $ins_equip->mo()->position;
+        ctx()->store(true)->equipLocation->$posId = $uid;
+                    
+        UserProc::updateUserInfo();
+        return Resp::ok(array());
+    }
+    
+    public static function RemoveEquip() {
+        list($uid) = req()->paras;
+        
+        $equipDic = ctx()->store->equip;
+        my_Assert(StlUtil::dictHasProperty($equipDic, $uid), ErrCode::user_store_NotExistEquip);
+        $ins_equip = new Ins_Equip($equipDic->$uid);
+        $posId = $ins_equip->mo()->position;        
+        StlUtil::dictRemove(ctx()->store(true)->equipLocation, $posId);       
+        
+        UserProc::updateUserInfo();
+        return Resp::ok(array());
+    }
+    
 
     /**
      * 洗练
      * @return Resp
      */
-    public static function gemXiLian() {
+    public static function GemXiLian() {
         list($uid) = req()->paras;
 
         //把 qual pos u一样的宝石开锁关锁
@@ -114,7 +145,7 @@ class StoreProc {
      * 宝石开锁解锁
      * @return Resp
      */
-    public static function gemLockState() {
+    public static function GemLockState() {
         list($uid) = req()->paras;
         $user = ctx();
 
@@ -149,7 +180,7 @@ class StoreProc {
      * 切换装备分页
      * @return Resp
      */
-    public static function switchEquipPag() {
+    public static function SwitchEquipPag() {
         list($index) = req()->paras;
         $user = ctx();
 
@@ -166,7 +197,7 @@ class StoreProc {
      *
      * @return Resp
      */
-    public static function allEquipUpgrade() {
+    public static function AllEquipUpgrade() {
         //list() = req()->paras;
         $user = ctx();
 
@@ -275,7 +306,7 @@ class StoreProc {
      * 移除是新宝石绿点提示
      * @return Resp
      */
-    public static function removeNewGemTip() {
+    public static function RemoveNewGemTip() {
         list($uid) = req()->paras; //宝石uid
         $user = ctx();
 
@@ -317,7 +348,7 @@ class StoreProc {
      * 移除装备可以升级绿点提示
      * @return Resp
      */
-    public static function removeEquipUpgradeTip() {
+    public static function RemoveEquipUpgradeTip() {
         list($posId) = req()->paras; //装备部位
         $user = ctx();
 
@@ -336,7 +367,7 @@ class StoreProc {
      * 6406 合成
      * @return type
      */
-    public static function gemCompose() {
+    public static function GemCompose() {
         list($gemIds) = req()->paras;
         $user = ctx();
 
@@ -497,7 +528,7 @@ class StoreProc {
      * 装备宝石
      * @return type
      */
-    public static function gemSet() {
+    public static function GemSet() {
         list($uid, $type, $replaceUId) = req()->paras; //宝石uid  手动的时候记得校验u
         $user = ctx();
 
@@ -594,7 +625,7 @@ class StoreProc {
      * 卸下装备
      * @return type
      */
-    public static function gemRemove() {
+    public static function GemRemove() {
         list($uid) = req()->paras; //装备宝石id
         $user = ctx();
 
@@ -633,7 +664,7 @@ class StoreProc {
      * 升级装备
      * @return type
      */
-    public static function equipUpgrade() {
+    public static function EquipUpgrade() {
         list($posId) = req()->paras; //装备的部位id
         $user = ctx();
 
@@ -673,7 +704,7 @@ class StoreProc {
      * 单个装备部位一键升级
      * @return type
      */
-    public static function equipUpgrade_MaxLv() {
+    public static function EquipUpgrade_MaxLv() {
         list($posId) = req()->paras; //mask = 1:表示战斗中掉落
         $user = ctx();