feat(英雄系统): 添加友方英雄标识并调整经验获取

初始化任务卡片事件队列
修改英雄经验获取为20倍
在Hero类中添加is_friend参数标识友方英雄
调整MissionHeroComp中召唤英雄逻辑以支持友方标识
This commit is contained in:
walkpan
2026-01-05 22:00:11 +08:00
parent 6dbf031768
commit 526293cbbd
4 changed files with 8 additions and 6 deletions

View File

@@ -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) {

View File

@@ -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) {

View File

@@ -63,6 +63,7 @@ export class MissionCardComp extends CCComp {
}
init(){
this.Lock.active=true
this.eventQueue = [];
}
start() {
// 初始隐藏或显示逻辑

View File

@@ -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>(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);
}