112 lines
3.1 KiB
JavaScript
112 lines
3.1 KiB
JavaScript
|
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;
|