소스 검색

修复更新武将后武将会停止攻击的bug

zouyong 5 년 전
부모
커밋
871bfc6766

+ 1 - 1
tower_sanguo/assets/scripts/module/fight/FightUI.ts

@@ -186,7 +186,7 @@ export default class FightUI extends BaseUI {
                 this.createGeneral(index, vo);
                 this.createGeneral(index, vo);
             }
             }
             else {//相同武将更新
             else {//相同武将更新
-                this.general_arr[index].updateVO(vo);
+                this.general_arr[index].updateVO(vo,false);
             }
             }
         }
         }
         else {//新增武将
         else {//新增武将

+ 23 - 17
tower_sanguo/assets/scripts/module/fight/model/generals/General.ts

@@ -150,30 +150,36 @@ export default class General extends FightModel implements IPool {
         this.action = GENERAL_ACTION.IDLE;
         this.action = GENERAL_ACTION.IDLE;
     }
     }
 
 
-    updateVO(v) {
+    /**
+     * 
+     * @param v 
+     * @param all 是否全部更新  false只更新等级星级这种值
+     */
+    updateVO(v, all: boolean = true) {
         this.vo = v;
         this.vo = v;
+        if (all) {
+            this.img_belong.spriteFrame = cc.loader.getRes("module/fight/texture/qi_" + this.vo.camp, cc.SpriteFrame);
+            let data = cc.loader.getRes("spine/person/" + v.resource, sp.SkeletonData);
+            if (data == null) {
+                data = cc.loader.getRes("module/fight/spine/hero_shu_GY", sp.SkeletonData);
+            }
+            this.skeleton.skeletonData = data;
+
+            //获取spine动画的帧数并设置攻击速度
+            let ani = this.skeleton.findAnimation("attack");
+            this.skeleton.timeScale = ani.duration / this.vo.attSpeed;
 
 
+            let attachUtil = this.skeleton.attachUtil;
+            let boneNodes = attachUtil.generateAttachedNodes('attack');
+            this.skillNode = boneNodes[0];
+        }
         this.lbl_lv.string = this.vo.lv + "";
         this.lbl_lv.string = this.vo.lv + "";
-        this.img_belong.spriteFrame = cc.loader.getRes("module/fight/texture/qi_" + this.vo.camp, cc.SpriteFrame);
-        this.lbl_star.string = this.vo.star + "";
         this.lbl_name.string = this.vo.name;
         this.lbl_name.string = this.vo.name;
 
 
+        this.lbl_star.string = this.vo.star + "";
+
         this.node_buff.y = this.bar_lv.y + 30;
         this.node_buff.y = this.bar_lv.y + 30;
         this.lbl_name.node.color = StringUtil.qualityColors[this.vo.color - 1];
         this.lbl_name.node.color = StringUtil.qualityColors[this.vo.color - 1];
-
-        let data = cc.loader.getRes("spine/person/" + v.resource, sp.SkeletonData);
-        if (data == null) {
-            data = cc.loader.getRes("module/fight/spine/hero_shu_GY", sp.SkeletonData);
-        }
-        this.skeleton.skeletonData = data;
-
-        //获取spine动画的帧数并设置攻击速度
-        let ani = this.skeleton.findAnimation("attack");
-        this.skeleton.timeScale = ani.duration / this.vo.attSpeed;
-
-        let attachUtil = this.skeleton.attachUtil;
-        let boneNodes = attachUtil.generateAttachedNodes('attack');
-        this.skillNode = boneNodes[0];
     }
     }
 
 
     pause(b) {
     pause(b) {

+ 1 - 1
tower_sanguo/assets/scripts/net/HttpCommand.ts

@@ -256,7 +256,7 @@ export enum HTTPTYPE {
     generalpack = 'generalpack',
     generalpack = 'generalpack',
     updateGeneralProp = 'updateGeneralProp',
     updateGeneralProp = 'updateGeneralProp',
     updateGeneralXS = 'updateGeneralXS',
     updateGeneralXS = 'updateGeneralXS',
-    updateCoin = 'updateCoin',
+    updateCoin = 'updatePlayerProp',
     changeEmbattle = 'changeEmbattle',
     changeEmbattle = 'changeEmbattle',
     composeGeneral = 'composeGeneral',
     composeGeneral = 'composeGeneral',
     updateMission = 'updateMission',
     updateMission = 'updateMission',

+ 1 - 1
tower_sanguo/assets/scripts/net/servertest/ServerManager.ts

@@ -51,7 +51,7 @@ export default class ServerManager {
                 this.getPlayerInfo(url, data, callback);
                 this.getPlayerInfo(url, data, callback);
                 break;
                 break;
             case HTTPTYPE.generalpack:
             case HTTPTYPE.generalpack:
-
+                
                 break;
                 break;
             case HTTPTYPE.changeEmbattle:
             case HTTPTYPE.changeEmbattle:
                 this.changeEmbattle(url, data, callback);
                 this.changeEmbattle(url, data, callback);