let Entity = require("./entity"); let entityMgr = require("./entityMgr"); class Aircraft extends Entity { constructor(base) { super(base); } init() { this.insertAttackKKEvent(); this.insertStopAttackKKEvent(); this.insertAttackKDEvent(); this.insertStopAttackKDEvent(); this.insertInfraRedBombEvent(); this.insertStopInfraRedBombEvent(); } insertAttackKKEvent() { let event = {}; event["事件"] = "空空攻击事件"; event["类型"] = "开始"; super.bindUserEventFun(event, this.slotBeginAttack); } insertStopAttackKKEvent() { let event = {}; event["事件"] = "空空攻击事件"; event["类型"] = "结束"; super.bindUserEventFun(event, this.slotStopAttack); } insertAttackKDEvent() { let event = {}; event["事件"] = "空地攻击事件"; event["类型"] = "开始"; super.bindUserEventFun(event, this.slotBeginAttack); } insertStopAttackKDEvent() { let event = {}; event["事件"] = "空地攻击事件"; event["类型"] = "结束"; super.bindUserEventFun(event, this.slotStopAttack); } insertInfraRedBombEvent() { let event = {}; event["事件"] = "红外弹干扰事件"; event["类型"] = "开始"; super.bindUserEventFun(event, this.slotInfraRedBomb); } insertStopInfraRedBombEvent() { let event = {}; event["事件"] = "红外弹干扰事件"; event["类型"] = "结束"; super.bindUserEventFun(event, this.slotStopInfraRedBomb); } slotBeginAttack(para) { var hj = para["航迹"]; if (hj) { let uid = entityMgr.createEntity("空空弹", para); for (const [key, value] of hj) { let t = key; let pt = value; entityMgr.insertAnimaPath(uid, t, pt); } var zdjs = para["制导结束时刻"]; if (zdjs) { { let eventJH = {}; eventJH["事件"] = "导弹截获事件"; eventJH["类型"] = "开始"; eventJH["参数"] = para["攻击目标"]; entityMgr.insertUserEvent(uid, zdjs, eventJH); } { var endMs = para["结束时刻"]; let eventJH = {}; eventJH["事件"] = "导弹截获事件"; eventJH["类型"] = "结束"; eventJH["参数"] = para["攻击目标"]; entityMgr.insertUserEvent(uid, endMs, eventJH); } } } } slotStopAttack(para) { var hj = para["航迹"]; if (hj) { let xh = para["型号"]; let bh = para["编号"]; let uid = entityMgr.getEntityUID(xh, bh); if (uid) { entityMgr.releaseEntity(uid); } } } slotInfraRedBomb(para) { } slotStopInfraRedBomb(para) { } } module.exports = Aircraft;