This commit is contained in:
2018-11-24 19:55:14 +01:00
parent 49a30c11fb
commit c763a585f4
3 changed files with 208 additions and 204 deletions

View File

@@ -39,116 +39,92 @@ function ADis_CollectOwnMissions() {
}
function ADis_ReadAndAddOwnMissions(MissionID) {
if (typeof MissionID != "undefined") {
ADis_AddMission(MissionID);
} else {
$("#mission_list").find(".missionSideBarEntry").each(function () {
MissionID = $(this).attr("mission_id");
// - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
// -
// - Ambulance Service | Full-Automatic
// - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
return ADisDB.transaction('rw', [ADisDB.ADisMissionsOwn, ADisDB.ADisSettings, ADisDB.ADisAvailabelMissions], () => {
if (typeof MissionID != "undefined") {
ADis_AddMission(MissionID);
});
}
} else {
$("#mission_list").find(".missionSideBarEntry").each(function () {
MissionID = $(this).attr("mission_id");
// - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
// -
// - Ambulance Service | Full-Automatic
// - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
ADis_AddMission(MissionID);
});
}
});
}
function ADis_OpenNextOwnMissions() {
console.log('ADis_OpenNextOwnMissions: open')
ADisSettings().then((setting) => {
console.log('ADis_OpenNextOwnMissions: load settings')
if (setting['MissionsOwn-Automatic'] == 'true') {
console.log('ADis_OpenNextOwnMissions: load mission')
return ADisDB.ADisMissionsOwn.where({
done: 'false'
}).and(function (item) {
return item.next_check <= Math.floor(new Date().getTime() / 1000)
}).limit(1)
}
}).then((Wunsch) => {
if (Wunsch !== undefined) {
return Wunsch.count(function (count) {
console.log('ADis_OpenNextOwnMissions: load mission: %d', count)
if (count > 0) {
return Wunsch.each((myWunsch) => {
console.log('ADis_OpenNextOwnMissions: load mission:', myWunsch)
let MissionID = myWunsch.missionID;
myWunsch.next_check = Math.floor(new Date().getTime() / 1000) + 300;
return ADisDB.transaction('rw', [ADisDB.ADisMissionsOwn, ADisDB.ADisSettings, ADisDB.ADisAvailabelMissions], () => {
ADisSettings().then((setting) => {
console.log('ADis_OpenNextOwnMissions: load settings')
if (setting['MissionsOwn-Automatic'] == 'true') {
console.log('ADis_OpenNextOwnMissions: load mission')
return ADisDB.ADisMissionsOwn.where({
done: 'false'
}).and(function (item) {
return item.next_check <= Math.floor(new Date().getTime() / 1000)
}).limit(1)
}
}).then((Wunsch) => {
if (Wunsch !== undefined) {
return Wunsch.count(function (count) {
console.log('ADis_OpenNextOwnMissions: load mission: %d', count)
if (count > 0) {
return Wunsch.each((myWunsch) => {
console.log('ADis_OpenNextOwnMissions: load mission:', myWunsch)
let MissionID = myWunsch.missionID;
myWunsch.next_check = Math.floor(new Date().getTime() / 1000) + 300;
return ADis_UpdateOwnMissions(myWunsch).then(() => {
console.log('ADis_OpenNextOwnMissions: check free slot for mission')
if ($("#adis-ownmissions-frame").attr("mission_id") == "empty") {
console.log('ADis_OpenNextOwnMissions: free slot for mission')
$("#adis-ownmissions-frame").attr("src", "https://www.leitstellenspiel.de/missions/" + MissionID);
$("#adis-ownmissions-frame").attr("mission_id", MissionID);
return ADis_UpdateOwnMissions(myWunsch).then(() => {
console.log('ADis_OpenNextOwnMissions: check free slot for mission')
if ($("#adis-ownmissions-frame").attr("mission_id") == "empty") {
console.log('ADis_OpenNextOwnMissions: free slot for mission')
$("#adis-ownmissions-frame").attr("src", "https://www.leitstellenspiel.de/missions/" + MissionID);
$("#adis-ownmissions-frame").attr("mission_id", MissionID);
OwnMissionsFrameWatchDog = setTimeout(function () {
// TODO: tellParent("ADisMissionDone(" + window.name + "," + MissionID + ");");
$("#adis-ownmissions-frame").attr("src", "");
$("#adis-ownmissions-frame").attr("mission_id", "empty");
setTimeout(ADis_OpenNextOwnMissions, 100);
}, 5000);
} else {
console.log('ADis_OpenNextOwnMissions: no free slot for mission')
setTimeout(ADis_OpenNextOwnMissions, 5000);
}
OwnMissionsFrameWatchDog = setTimeout(function () {
// TODO: tellParent("ADisMissionDone(" + window.name + "," + MissionID + ");");
$("#adis-ownmissions-frame").attr("src", "");
$("#adis-ownmissions-frame").attr("mission_id", "empty");
setTimeout(ADis_OpenNextOwnMissions, 100);
}, 5000);
} else {
console.log('ADis_OpenNextOwnMissions: no free slot for mission')
setTimeout(ADis_OpenNextOwnMissions, 5000);
}
});
});
});
}
return setTimeout(ADis_OpenNextOwnMissions, 5000);
});
}
return setTimeout(ADis_OpenNextOwnMissions, 5000);
}
return setTimeout(ADis_OpenNextOwnMissions, 5000);
});
}
return setTimeout(ADis_OpenNextOwnMissions, 5000);
});
});
}
window.ADis_AddMission = function ADis_AddMission(ID) {
return ADisDB.transaction('rw', [ADisDB.ADisMissionsOwn, ADisDB.ADisSettings, ADisDB.ADisAvailabelMissions], () => {
return ADisSettings().then((setting) => {
if (setting['MissionsOwn-Automatic'] == 'true') {
return ADisDB.ADisMissionsOwn.where({
missionID: ID
}).limit(1)
}
}).then((Missions) => {
if (Missions === undefined) {
return;
}
return Missions.count(function (count) {
if (count > 0) {
return Missions.each(() => {
var MissionElement = $("#mission_" + ID);
var _MissionID = MissionElement.attr("mission_id");
var _MissionType = MissionElement.attr("mission_type_id");
var addr = MissionElement.find(".map_position_mover").text().split(",")
var MissionName = addr[0];
var MissionStreet = addr[1];
var MissionVillage = addr[2];
return ADisDB.ADisAvailabelMissions.get({
type: MissionType
}).then((available) => {
return ADis_AddMissionToQueue({
"id": _MissionID,
"type": _MissionType,
"name": MissionName,
"street": MissionStreet,
"village": MissionVillage,
"available": (available !== undefined),
"done": false,
"last_check": Math.floor(new Date().getTime() / 1000),
"next_check": Math.floor(new Date().getTime() / 1000) + 1
});
});
});
} else {
return ADisSettings().then((setting) => {
if (setting['MissionsOwn-Automatic'] == 'true') {
return ADisDB.ADisMissionsOwn.where({
missionID: ID
}).limit(1)
}
}).then((Missions) => {
if (Missions === undefined) {
return;
}
return Missions.count(function (count) {
if (count > 0) {
return Missions.each(() => {
var MissionElement = $("#mission_" + ID);
var MissionID = MissionElement.attr("mission_id");
var MissionType = MissionElement.attr("mission_type_id");
var _MissionID = MissionElement.attr("mission_id");
var _MissionType = MissionElement.attr("mission_type_id");
var addr = MissionElement.find(".map_position_mover").text().split(",")
var MissionName = addr[0];
var MissionStreet = addr[1];
@@ -158,8 +134,8 @@ window.ADis_AddMission = function ADis_AddMission(ID) {
type: MissionType
}).then((available) => {
return ADis_AddMissionToQueue({
"id": MissionID,
"type": MissionType,
"id": _MissionID,
"type": _MissionType,
"name": MissionName,
"street": MissionStreet,
"village": MissionVillage,
@@ -169,8 +145,34 @@ window.ADis_AddMission = function ADis_AddMission(ID) {
"next_check": Math.floor(new Date().getTime() / 1000) + 1
});
});
}
});
});
} else {
var MissionElement = $("#mission_" + ID);
var MissionID = MissionElement.attr("mission_id");
var MissionType = MissionElement.attr("mission_type_id");
var addr = MissionElement.find(".map_position_mover").text().split(",")
var MissionName = addr[0];
var MissionStreet = addr[1];
var MissionVillage = addr[2];
return ADisDB.ADisAvailabelMissions.get({
type: MissionType
}).then((available) => {
return ADis_AddMissionToQueue({
"id": MissionID,
"type": MissionType,
"name": MissionName,
"street": MissionStreet,
"village": MissionVillage,
"available": (available !== undefined),
"done": false,
"last_check": Math.floor(new Date().getTime() / 1000),
"next_check": Math.floor(new Date().getTime() / 1000) + 1
});
});
}
});
});
}