Browse Source

拍照道具无法添加第二层

zhaoyang 3 years ago
parent
commit
306e0c825b

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

@@ -15,7 +15,7 @@ namespace GFGGame
         private const string FORMAT_EFFECT_OBJ_NAME = "T{0}_eff";
         private const string FORMAT_LAYER_RES_NAME_WITH_T = "{0}_t";
 
-        public static void AddItem(int itemID, GameObject sceneObj, bool needSetMask = false, bool showAni = true, GameObject parentObj = null, int layerId = int.MinValue)
+        public static void AddItem(int itemID, GameObject sceneObj, bool needSetMask = false, bool showAni = true, GameObject parentObj = null, int layerId = int.MinValue, int resLayer = int.MinValue)
         {
             ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemID);
             if (itemCfg != null)
@@ -36,7 +36,7 @@ namespace GFGGame
                 }
                 if (layerId > int.MinValue)
                 {
-                    updateLayerRes(itemCfg, parentObj, layerId, layerId == 2, needSetMask, showAni);
+                    updateLayerRes(itemCfg, parentObj, layerId, resLayer == 2, needSetMask, showAni);
                 }
                 else
                 {

+ 2 - 2
GameClient/Assets/Game/HotUpdate/DressUp/SceneController.cs

@@ -171,12 +171,12 @@ namespace GFGGame
 
         }
         //拍照场景添加单个道具
-        public static void AddItemToScene(GameObject sceneObj, GameObject parentGameObj, int itemId, int layerId)
+        public static void AddItemToScene(GameObject sceneObj, GameObject parentGameObj, int itemId, int layerId, int resLayer)
         {
             ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
 
             parentGameObj.transform.SetParent(sceneObj.transform.Find("Scene"), false);
-            DressUpUtil.AddItem(itemId, sceneObj, false, false, parentGameObj, layerId);
+            DressUpUtil.AddItem(itemId, sceneObj, false, false, parentGameObj, layerId, resLayer);
             SceneController.SetBoxCollider2DToGameObject(parentGameObj.transform.GetChild(0).gameObject);
         }
 

+ 13 - 22
GameClient/Assets/Game/HotUpdate/Views/DressUp/PhotographView.cs

@@ -360,8 +360,7 @@ namespace GFGGame
         {
             GameObject bodyParent = _sceneObject.transform.Find(RolePath).gameObject;
             SceneController.UpdatePhotographBody(_equipRoleData.ToArray(), _sceneObject, bodyParent);
-            // int layer = bodyParent.transform.Find("Body").GetComponent<SpriteRenderer>().sortingOrder;
-            // maxLayer = layer < maxLayer ? maxLayer : layer;
+
             maxLayer = PhotographDataManager.Instance.GetMaxLayer(bodyParent, maxLayer) + 1;
         }
         //添加初始场景道具
@@ -416,14 +415,14 @@ namespace GFGGame
                 }
                 index = _equipSceneData[itemCfg.id].Count - 1;
                 parentGameObj = new GameObject(string.Format("{0}_{1}_{2}", itemCfg.id, index, 1));
-                SceneController.AddItemToScene(_sceneObject, parentGameObj, itemCfg.id, itemCfg.resLayer2);
-                SpriteRenderer spr = parentGameObj.transform.GetChild(0).GetComponent<SpriteRenderer>();
-                maxLayer = PhotographDataManager.Instance.GetMaxLayer(parentGameObj, maxLayer) + 1;
+                SceneController.AddItemToScene(_sceneObject, parentGameObj, itemCfg.id, 2, itemCfg.resLayer2);
 
-                if (isDefaultLayer) return;
-                // maxLayer = maxLayer + 1;
+                maxLayer = PhotographDataManager.Instance.GetMaxLayer(parentGameObj, maxLayer) + 1;
 
-                PhotographDataManager.Instance.SetItemLayer(parentGameObj, maxLayer);
+                if (!isDefaultLayer)
+                {
+                    PhotographDataManager.Instance.SetItemLayer(parentGameObj, maxLayer);
+                }
 
             }
             if (itemCfg.resLayer1 > 0)
@@ -435,22 +434,14 @@ namespace GFGGame
                 index = _equipSceneData[itemCfg.id].Count - 1;
 
                 parentGameObj = new GameObject(string.Format("{0}_{1}_{2}", itemCfg.id, index, 0));
-                SceneController.AddItemToScene(_sceneObject, parentGameObj, itemCfg.id, itemCfg.resLayer1);
-                SpriteRenderer spr = parentGameObj.transform.GetChild(0).GetComponent<SpriteRenderer>();
-
-                // ItemTypeCfg itemTypeCfg = ItemTypeCfgArray.Instance.GetCfg(itemCfg.subType);
-                // maxLayer = isDefaultLayer && maxLayer < itemTypeCfg.defaultLayer ? itemTypeCfg.defaultLayer : maxLayer + 1;
-                // if (!isDefaultLayer)
-                // {
-                //     // maxLayer = maxLayer + 1;
-                //     PhotographDataManager.Instance.SetItemLayer(parentGameObj, maxLayer);
-                // }
+                SceneController.AddItemToScene(_sceneObject, parentGameObj, itemCfg.id, 1, itemCfg.resLayer1);
+
                 maxLayer = PhotographDataManager.Instance.GetMaxLayer(parentGameObj, maxLayer) + 1;
 
-                if (isDefaultLayer) return;
-                // maxLayer = PhotographDataManager.Instance.GetLayer(parentGameObj) + maxLayer + 1;
-                // maxLayer = maxLayer + 1;
-                PhotographDataManager.Instance.SetItemLayer(parentGameObj, maxLayer);
+                if (!isDefaultLayer)
+                {
+                    PhotographDataManager.Instance.SetItemLayer(parentGameObj, maxLayer);
+                }
 
             }
         }