import { BattleDataPool } from "./BattleDataPool"; import { BattleUtil } from "./BattleUtil"; import { BuffData } from "./BuffData"; import { DataBase } from "./DataBase"; import { EnemyData } from "./EnemyData"; import { HeroData } from "./HeroData"; //弹道子弹 export class BulletData extends DataBase{ //所属格子 -1表示暂无 posID: number; //当前坐标 position:BattleUtil.Vector2; //移动速度 speedCur: number; speedVector:BattleUtil.Vector2; //攻击范围 attackRadius: number; //碰撞范围 boxRadius: number; //来源 srcHeroID:number; srcHero:HeroData; //目标敌人 targetEnemyID:number; targetEnemy:EnemyData; //目标坐标 如果不指向敌人则指向坐标 targetPosition:BattleUtil.Vector2; buffDataList: Array; init(typeID:number,srcHero:HeroData,targetEnemy:EnemyData){ super._init(); this.speedCur = 100/BattleUtil.FrameRate; this.attackRadius = 10; this.typeID = typeID; this.srcHero = srcHero; this.position = srcHero.position; this.targetEnemy = targetEnemy; this.targetPosition = targetEnemy.position; this.speedVector = BattleUtil.Vector2.Sub(this.targetPosition,this.position); this.speedVector.normalize(); this.speedVector.multiply(this.speedCur); this.buffDataList = [] return this; } clear(): void { super.clear(); } } export let BulletDataPool = new BattleDataPool(BulletData,100)