浏览代码

修复单选皮状态

baowen 13 小时之前
父节点
当前提交
b39c9a0aeb

二进制
assets/editor/image/super_find/btnEnter.png


+ 134 - 0
assets/editor/image/super_find/btnEnter.png.meta

@@ -0,0 +1,134 @@
+{
+  "ver": "1.0.27",
+  "importer": "image",
+  "imported": true,
+  "uuid": "ecc5b014-b539-4ab2-b552-de8f362e8389",
+  "files": [
+    ".json",
+    ".png"
+  ],
+  "subMetas": {
+    "6c48a": {
+      "importer": "texture",
+      "uuid": "ecc5b014-b539-4ab2-b552-de8f362e8389@6c48a",
+      "displayName": "btnEnter",
+      "id": "6c48a",
+      "name": "texture",
+      "userData": {
+        "wrapModeS": "clamp-to-edge",
+        "wrapModeT": "clamp-to-edge",
+        "imageUuidOrDatabaseUri": "ecc5b014-b539-4ab2-b552-de8f362e8389",
+        "isUuid": true,
+        "visible": false,
+        "minfilter": "linear",
+        "magfilter": "linear",
+        "mipfilter": "none",
+        "anisotropy": 0
+      },
+      "ver": "1.0.22",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    },
+    "f9941": {
+      "importer": "sprite-frame",
+      "uuid": "ecc5b014-b539-4ab2-b552-de8f362e8389@f9941",
+      "displayName": "btnEnter",
+      "id": "f9941",
+      "name": "spriteFrame",
+      "userData": {
+        "trimThreshold": 1,
+        "rotated": false,
+        "offsetX": 0,
+        "offsetY": 0,
+        "trimX": 1,
+        "trimY": 1,
+        "width": 169,
+        "height": 65,
+        "rawWidth": 171,
+        "rawHeight": 67,
+        "borderTop": 0,
+        "borderBottom": 0,
+        "borderLeft": 0,
+        "borderRight": 0,
+        "packable": true,
+        "pixelsToUnit": 100,
+        "pivotX": 0.5,
+        "pivotY": 0.5,
+        "meshType": 0,
+        "vertices": {
+          "rawPosition": [
+            -84.5,
+            -32.5,
+            0,
+            84.5,
+            -32.5,
+            0,
+            -84.5,
+            32.5,
+            0,
+            84.5,
+            32.5,
+            0
+          ],
+          "indexes": [
+            0,
+            1,
+            2,
+            2,
+            1,
+            3
+          ],
+          "uv": [
+            1,
+            66,
+            170,
+            66,
+            1,
+            1,
+            170,
+            1
+          ],
+          "nuv": [
+            0.005847953216374269,
+            0.014925373134328358,
+            0.9941520467836257,
+            0.014925373134328358,
+            0.005847953216374269,
+            0.9850746268656716,
+            0.9941520467836257,
+            0.9850746268656716
+          ],
+          "minPos": [
+            -84.5,
+            -32.5,
+            0
+          ],
+          "maxPos": [
+            84.5,
+            32.5,
+            0
+          ]
+        },
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "ecc5b014-b539-4ab2-b552-de8f362e8389@6c48a",
+        "atlasUuid": "",
+        "trimType": "auto"
+      },
+      "ver": "1.0.12",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    }
+  },
+  "userData": {
+    "type": "sprite-frame",
+    "hasAlpha": true,
+    "fixAlphaTransparencyArtifacts": false,
+    "redirect": "ecc5b014-b539-4ab2-b552-de8f362e8389@6c48a"
+  }
+}

+ 1 - 2
assets/editor/script/LevelContainer.ts

@@ -100,8 +100,7 @@ export class LevelContainer extends Component {
                 this.lvlBg.spriteFrame = spriteFrame;
             }
         });
-        console.log("打印",Skin.skinData._lastSelectSpinePath,"数组",itemSpinePaths)
-        var randomIndex = itemSpinePaths.indexOf(Skin.skinData._lastSelectSpinePath);
+        var randomIndex = itemSpinePaths.indexOf(Skin.skinData._lastSelectSpinePath);console.log("使用的皮肤是",Skin.skinData._lastSelectSpinePath,"要生成的皮肤是",itemSpinePaths[randomIndex])
         // console.log("物品数量", itemcnt,"物品缩放数组长度",Difficulty.difficutyData.scales.length,"动画路径长度",itemSpinePaths.length);
         // 生成物品
         for (let i = 0; i < itemcnt; i++) {

+ 13 - 0
assets/editor/script/SelectSkinPanel.ts

@@ -29,6 +29,8 @@ export class SelectSkinPanel extends Component {
         this.btnClose.node.on(Node.EventType.TOUCH_END,this.onBtnCloseClick,this)
         if(this.addListenerShowUsingLabel)
         EventMgr.ins.addEventListener("showUsingLabel",this.showUsingLabel,this)
+        else
+        EventMgr.ins.addEventListener("refreshSelectFrame",this.showSelectFrame,this)
     }
 
     init() {
@@ -161,6 +163,17 @@ export class SelectSkinPanel extends Component {
             (element.getComponent(SkinItem) as SkinItem2).usingLabel.active = false
         });
     }
+
+    showSelectFrame(item)
+    {
+        if(Skin.skinData.singleSelect == "true")
+        {
+            this._items.forEach(element => {
+                if(element !== item)
+                element.getComponent(SkinItem).setSelevtFrame(false)
+            });
+        }
+    }
 }
 
 

+ 6 - 0
assets/editor/script/SkinItem.ts

@@ -1,6 +1,7 @@
 import { _decorator, Button, Component, instantiate, Node, Prefab, sp, Sprite, Vec2, Vec3 } from 'cc';
 import {Skin } from '../../script/Manager/LocalDataMgr';
 import { LayerMgr } from '../../script/Manager/LayerMgr';
+import EventMgr from '../../script/Manager/EventMgr';
 const { ccclass, property } = _decorator;
 
 @ccclass('SkinItem')
@@ -58,6 +59,11 @@ export class SkinItem extends Component {
         {
             Skin.removeSelectSkin(this._key)
         }
+        EventMgr.ins.dispatchEvent("refreshSelectFrame",this.node)
+    }
+
+    setSelevtFrame(isShow) {
+        this.selectedSprite.node.active = isShow
     }
 }
 

+ 4 - 1
assets/editor/script/SkinItem2.ts

@@ -1,7 +1,7 @@
 import { _decorator, Color, Component, instantiate, Node, Prefab, Sprite, Vec2, Vec3 } from 'cc';
 import { SkinItem } from './SkinItem';
 import EventMgr from '../../script/Manager/EventMgr';
-import { Skin } from '../../script/Manager/LocalDataMgr';
+import { allSkinList, Skin } from '../../script/Manager/LocalDataMgr';
 const { ccclass, property } = _decorator;
 
 @ccclass('SkinItem2')
@@ -48,9 +48,12 @@ export class SkinItem2 extends SkinItem {
 
     onBtnUseClick()
     {
+        Skin.setCurrentSelSingleSkin(this.key)
         Skin.setSelectStatu(true)
         EventMgr.ins.dispatchEvent("showUsingLabel",[this.node,this.isUnlock])
         EventMgr.ins.dispatchEvent("regenerate")
+        console.log("当前被选中的皮肤",allSkinList[this.key])
+
     }
 
     setBgColor(isUnlock)

文件差异内容过多而无法显示
+ 670 - 420
assets/hall/prefab/page_start.prefab


+ 10 - 0
assets/script/Manager/LocalDataMgr.ts

@@ -265,6 +265,12 @@ export class UserSkinData {
         this.saveSkinData()
     }
 
+    setCurrentSelSingleSkinToDefault()
+    {
+        this._skinData._lastSelectSpinePath = defaultSkin
+        this.saveSkinData()
+    }
+
     get skinData(): SkinData {
         return this._skinData;
     }
@@ -308,12 +314,15 @@ export class UserSkinData {
         {
             this._skinData.selectedSkinList.splice(index,1)
         }
+        this.setCurrentSelSingleSkinToDefault()
+
         this.saveSkinData()
     }
 
     removeAllSelectSkin()
     {
         this._skinData.selectedSkinList = []
+        this.setCurrentSelSingleSkinToDefault()
         this.saveSkinData()
     }
 
@@ -324,6 +333,7 @@ export class UserSkinData {
         for(let i = 0;i < allSkinkeys.length;i++)
         {
             this._skinData.selectedSkinList.push(allSkinkeys[i])
+            this.setCurrentSelSingleSkin(allSkinkeys[i])
         }
         this.saveSkinData()
     }

部分文件因为文件数量过多而无法显示