From 526293cbbd8c516931a45eae06be0901f3dc0b8d Mon Sep 17 00:00:00 2001 From: walkpan Date: Mon, 5 Jan 2026 22:00:11 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E8=8B=B1=E9=9B=84=E7=B3=BB=E7=BB=9F):=20?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8F=8B=E6=96=B9=E8=8B=B1=E9=9B=84=E6=A0=87?= =?UTF-8?q?=E8=AF=86=E5=B9=B6=E8=B0=83=E6=95=B4=E7=BB=8F=E9=AA=8C=E8=8E=B7?= =?UTF-8?q?=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 初始化任务卡片事件队列 修改英雄经验获取为20倍 在Hero类中添加is_friend参数标识友方英雄 调整MissionHeroComp中召唤英雄逻辑以支持友方标识 --- assets/script/game/common/SingletonModuleComp.ts | 2 +- assets/script/game/hero/Hero.ts | 3 ++- assets/script/game/map/MissionCardComp.ts | 1 + assets/script/game/map/MissionHeroComp.ts | 8 ++++---- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/assets/script/game/common/SingletonModuleComp.ts b/assets/script/game/common/SingletonModuleComp.ts index 82c6c2d5..7c0968ea 100644 --- a/assets/script/game/common/SingletonModuleComp.ts +++ b/assets/script/game/common/SingletonModuleComp.ts @@ -143,7 +143,7 @@ export class SingletonModuleComp extends ecs.Comp { updateHeroExp(exp: number) { if (!this.vmdata.hero) return; - this.vmdata.hero.exp += exp; + this.vmdata.hero.exp += exp*20; // console.log('[smc] 英雄升级 经验:' + this.vmdata.hero.exp + ' 等级:' + this.vmdata.hero.lv + ' 上限:' + this.vmdata.hero.exp_max); // 确保 exp_max 初始化 if (this.vmdata.hero.exp_max <= 0) { diff --git a/assets/script/game/hero/Hero.ts b/assets/script/game/hero/Hero.ts index 6995003b..a99f62a5 100644 --- a/assets/script/game/hero/Hero.ts +++ b/assets/script/game/hero/Hero.ts @@ -46,7 +46,7 @@ export class Hero extends ecs.Entity { /** 加载角色 */ - load(pos: Vec3 = Vec3.ZERO,scale:number = 1,uuid:number=1001,fight_pos:number=1,is_master:boolean=false) { + load(pos: Vec3 = Vec3.ZERO,scale:number = 1,uuid:number=1001,fight_pos:number=1,is_master:boolean=false,is_friend:boolean=false) { // console.log("英雄加载:",uuid,pos,scale,info) scale = 1 // 查找空闲英雄槽位 @@ -82,6 +82,7 @@ export class Hero extends ecs.Entity { model.type = hero.type; model.fac = FacSet.HERO; model.is_master = is_master; + model.is_friend = is_friend // 只有主角才挂载天赋组件 if (is_master) { diff --git a/assets/script/game/map/MissionCardComp.ts b/assets/script/game/map/MissionCardComp.ts index caaad453..44c60f81 100644 --- a/assets/script/game/map/MissionCardComp.ts +++ b/assets/script/game/map/MissionCardComp.ts @@ -63,6 +63,7 @@ export class MissionCardComp extends CCComp { } init(){ this.Lock.active=true + this.eventQueue = []; } start() { // 初始隐藏或显示逻辑 diff --git a/assets/script/game/map/MissionHeroComp.ts b/assets/script/game/map/MissionHeroComp.ts index 55ddc6b4..949edac0 100644 --- a/assets/script/game/map/MissionHeroComp.ts +++ b/assets/script/game/map/MissionHeroComp.ts @@ -66,14 +66,14 @@ export class MissionHeroCompComp extends CCComp { private zhao_huan(event: string, args: any){ // console.log("[MissionHeroComp]:zhaohuan",args) - this.addHero(args.uuid,false) + this.addHero(args.uuid) } private call_friend(event: string, args: any){ // console.log("[MissionHeroComp]:call_friend",args) - this.addHero(args.uuid,false) + this.addHero(args.uuid,false,true) } /** 添加英雄 */ - private addHero(uuid:number=1001,is_master:boolean=false) { + private addHero(uuid:number=1001,is_master:boolean=false,is_friend:boolean=false) { // console.log("[MissionHeroComp]:addHero",uuid,is_zhaohuan) let hero_pos=0 let hero = ecs.getEntity(Hero); @@ -81,7 +81,7 @@ export class MissionHeroCompComp extends CCComp { let pos:Vec3 = HeroPos[hero_pos].pos; let fight_pos=1 - hero.load(pos,scale,uuid,fight_pos,is_master); + hero.load(pos,scale,uuid,fight_pos,is_master,is_friend); }