mirror of
https://gitee.com/jisol/jisol-game/
synced 2025-12-08 14:00:02 +00:00
update
This commit is contained in:
@@ -97,6 +97,9 @@ export default class GOnHookMode extends GBaseMode<{}>{
|
||||
|
||||
fsm:GFSMOnHookMode;
|
||||
|
||||
//是否允许攻击
|
||||
isAllowAttack:boolean = false;
|
||||
|
||||
onSyncInitSuccess():void{
|
||||
|
||||
//初始化战斗
|
||||
@@ -146,8 +149,13 @@ export default class GOnHookMode extends GBaseMode<{}>{
|
||||
onUpdateCamera(dt:number){
|
||||
|
||||
//如果没有敌人相机永远锁定最前面的宠物
|
||||
if(!this.isHaveEnemy()){
|
||||
if(this.isAllowAttack && this.isHaveEnemy()){
|
||||
|
||||
//如果有敌人则移动到战斗位置
|
||||
let cameraWorld = this.camera.node.worldPosition.clone();
|
||||
this.camera.node.worldPosition = cameraWorld.lerp(v3(this.nextFightX,cameraWorld.y,cameraWorld.z),(dt / 1000));
|
||||
|
||||
}else{
|
||||
//获取冲到最前面的宠物
|
||||
let roles = this.getOnesRoleAlive(GOnHookModePlayerEnum.PLAYER);
|
||||
let frontRole = roles.sort((role1,role2) => role2.v2World.x - role1.v2World.x)[0];
|
||||
@@ -156,11 +164,6 @@ export default class GOnHookMode extends GBaseMode<{}>{
|
||||
//设置相机 位置
|
||||
let cameraWorld = this.camera.node.worldPosition.clone();
|
||||
this.camera.node.worldPosition = cameraWorld.lerp(v3(frontRole.v2World.x,cameraWorld.y,cameraWorld.z),(dt / 1000));
|
||||
|
||||
}else{
|
||||
//如果有敌人则移动到战斗位置
|
||||
let cameraWorld = this.camera.node.worldPosition.clone();
|
||||
this.camera.node.worldPosition = cameraWorld.lerp(v3(this.nextFightX,cameraWorld.y,cameraWorld.z),(dt / 1000));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -210,6 +213,8 @@ export default class GOnHookMode extends GBaseMode<{}>{
|
||||
//获取敌人
|
||||
getEnumy(player:GRoleDefault,type:GOnHookModePlayerEnum):GRoleDefault{
|
||||
|
||||
if(!this.isAllowAttack) return null;
|
||||
|
||||
let enumyOnes = GOnHookModePlayerEnum.ENEMY
|
||||
//如果是ENEMY 则 它的敌人是 PLAYER
|
||||
if(type == GOnHookModePlayerEnum.ENEMY) enumyOnes = GOnHookModePlayerEnum.PLAYER
|
||||
@@ -253,6 +258,7 @@ export default class GOnHookMode extends GBaseMode<{}>{
|
||||
|
||||
//是否有怪物
|
||||
isHaveEnemy(){
|
||||
if(!this.isAllowAttack) return [];
|
||||
return this.getOnesRoleAlive(GOnHookModePlayerEnum.ENEMY).filter(role => !!role.get()).length > 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user