فهرست منبع

升级 更新玩家信息

woso_javan 2 ماه پیش
والد
کامیت
f707803c46

+ 6 - 4
assets/module_storm_sunder/Script/Component/TornadoComponent.ts

@@ -150,6 +150,7 @@ export class TornadoComponent extends Component {
                         otherCollider.node.parent = randomPoint;
                         otherCollider.node.setPosition(Vec3.ZERO);
                         propComp.swallow();
+                        this.addExpByProp(propComp);
                     }
                 }
             }
@@ -191,16 +192,17 @@ export class TornadoComponent extends Component {
             this.stormLevelUp();
             this.currentLv++;
 
-            //TODO 计算升级经验
-            this.currentExp = 0;
-            this.nextExp += this.nextExp;
+            this.playerInfo.level = this.currentLv;
+            Effect2DUIMgr.inst.updatePlayerInfo(this.node, this.playerInfo);
         }
     }
 
     private stormLevelUp() {
         //DOTO  计算攻击速度等属性
         this.attack += this.attack;
-        this.speed += this.speed;
+        this.speed += this.speed * 0.1;
+        this.nextExp += this.nextExp;
+        this.currentExp = 0;
     }
 
     protected onDestroy(): void {

+ 11 - 0
assets/module_storm_sunder/Script/Manager/Effect2DUIMgr.ts

@@ -75,6 +75,17 @@ export class Effect2DUIMgr {
         infoNode.setPosition(uiPos.x + offsetX, uiPos.y + offsetY);
     }
 
+    //更新对应玩家信息
+    updatePlayerInfo(target: Node, playerInfo: PlayerInfo) {
+        const infoNode = this.playerInfoMap.get(target);
+        if (infoNode) {
+            const playerInfoComp = infoNode.getComponent(PlayerInfoComponent);
+            if (playerInfoComp) {
+                playerInfoComp.updateInfo(playerInfo);
+            }
+        }
+    }
+
     // 清理血条
     removeBlood(target: Node) {
         const bloodNode = this.bloodMap.get(target);