Эх сурвалжийг харах

剧情对话手持物bug修复

guodong 1 жил өмнө
parent
commit
f4cbe6b2d2

+ 13 - 4
GameClient/Assets/Game/HotUpdate/DressUp/DressUpObj.cs

@@ -4,6 +4,7 @@ using System;
 using System.Linq;
 using ET;
 using FairyGUI;
+using ProtoBuf.Meta;
 
 namespace GFGGame
 {
@@ -281,8 +282,12 @@ namespace GFGGame
             checkDefaultItem();
         }
 
-        //取消动作
-        public void CancelAction(bool changeToStand = false)
+        /// <summary>
+        /// 取消动作,默认直接脱下
+        /// </summary>
+        /// <param name="changeToStand">转换成站立动作</param>
+        /// <param name="excludeType">转换成站立动作时排除一些类型不穿</param>
+        public void CancelAction(bool changeToStand = false, int[] excludeType = null)
         {
             if (_dressUpData.actionId <= 0)
             {
@@ -318,8 +323,12 @@ namespace GFGGame
                     {
                         bool notInAction = SuitCfgArray.Instance.CheckItemNotInAction(itemId);
                         if (!notInAction)
-                        {
-                            AddOrRemove(itemId, false, DressUpOption.Add);
+{
+                            int subType = ItemDataManager.GetItemSubType(itemId);
+                            if (excludeType == null || Array.IndexOf(excludeType, subType) < 0)
+                            {
+                                AddOrRemove(itemId, false, DressUpOption.Add);
+                            }
                         }
                     }
                 }

+ 1 - 1
GameClient/Assets/Game/HotUpdate/DressUp/DressUpUtil.cs

@@ -521,7 +521,7 @@ namespace GFGGame
             {
                 if (!CheckOwn || DressUpMenuItemDataManager.CheckHasItem(itemId))
                 {
-                    subType = ItemUtilCS.GetItemSubType(itemId);
+                    subType = ItemDataManager.GetItemSubType(itemId);
                     bool notInAction = SuitCfgArray.Instance.CheckItemNotInAction(itemId);
                     if (!isAction || notInAction)
                     {

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryDialogView.cs

@@ -477,7 +477,7 @@ namespace GFGGame
                         _dressUpObjUI.dressUpObj.PutOnDressUpData(CustomSuitDataManager.GetCurrentSuitData().dressUpData, new int[] { ConstDressUpItemType.SHOU_CHI_WU });
                         if (_dressUpObjUI.dressUpObj.actionId > 0)
                         {
-                            _dressUpObjUI.dressUpObj.CancelAction(true);
+                            _dressUpObjUI.dressUpObj.CancelAction(true, new int[] { ConstDressUpItemType.SHOU_CHI_WU });
                         }
                     }
                     if (headAniCfg != null && headAniCfg.faceId > 0)