-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSettingsBar.js
More file actions
122 lines (94 loc) · 3.01 KB
/
SettingsBar.js
File metadata and controls
122 lines (94 loc) · 3.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
var caret = L.DomUtil.create('img');
caret.src = "caret.svg"
caret.style.height = '20px';
var containter = L.DomUtil.create('div');
containter.id = "container";
var text = L.DomUtil.create('h5');
text.innerHTML = "";
text.style.color = "red";
text.style.display = "inline";
text.style.marginRight = "15px";
caret.onclick = function(){
containter.removeChild(caret);
buttonVisibility(true);
};
var addPlane = L.DomUtil.create('input');
var hideDiv = L.DomUtil.create('input');
var hideCursor = L.DomUtil.create('input');
hideCursor.type = 'button';
hideCursor.onclick = function(){
document.getElementsByClassName("leaflet-control-zoom")[0].style.visibility = "hidden";
document.body.requestPointerLock();
};
hideCursor.value = 'Hide Cursor and Buttons';
addPlane.type = 'button';
addPlane.onclick = function(){
window.location.href = "PlaneInput.html";
};
addPlane.value = 'Add Planes';
hideDiv.type = 'button';
hideDiv.onclick = function(){
buttonVisibility(false, true);
containter.appendChild(caret);
};
hideDiv.value = 'Hide Buttons';
var customControl = L.Control.Settings = L.Control.extend({
options: {
position: 'topright'
},
initialize: function(options){
},
onAdd: function(map) {
containter.appendChild(text);
containter.appendChild(addPlane);
containter.appendChild(hideDiv);
containter.appendChild(hideCursor);
return containter;
},
onRemove: function(map) {
//L.DomEvent.off();
}
});
L.control.Settings = function(opts){
return new L.Control.Settings(opts);
}
function buttonVisibility(state, caretVisibility){
if(state == true){
addPlane.style.visibility = "visible";
hideDiv.style.visibility = "visible";
hideCursor.style.visibility = "visible";
text.style.visibility = "visible";
}
else{
addPlane.style.visibility = "hidden";
hideDiv.style.visibility = "hidden";
hideCursor.style.visibility = "hidden";
text.style.visibility = "hidden";
}
if(caretVisibility){
caret.style.visibility = "visible";
} else if (!caretVisibility){
caret.style.visibility = "hidden";
}
}
document.addEventListener('pointerlockchange', lockChangeAlert, false);
function lockChangeAlert() {
if (document.pointerLockElement != null){
//locked
buttonVisibility(false, false);
} else {
//unlocked
document.getElementsByClassName("leaflet-control-zoom")[0].style.visibility = "visible";
buttonVisibility(true,true);
//document.removeEventListener("mousemove", false);
}
}
function updateCount(){
let count = 0;
Planes.forEach(element => {
if(element.status == false){
count++;
}
});
text.innerHTML = count + " Planes Failed";
}