feat(英雄系统): 添加友方英雄标识并调整经验获取
初始化任务卡片事件队列 修改英雄经验获取为20倍 在Hero类中添加is_friend参数标识友方英雄 调整MissionHeroComp中召唤英雄逻辑以支持友方标识
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -63,6 +63,7 @@ export class MissionCardComp extends CCComp {
|
||||
}
|
||||
init(){
|
||||
this.Lock.active=true
|
||||
this.eventQueue = [];
|
||||
}
|
||||
start() {
|
||||
// 初始隐藏或显示逻辑
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user