@@ -7,18 +7,34 @@ import { CardService } from '@/services/CardService';
7
7
import { CardMarker } from ' ./CardMarker' ;
8
8
import { CardDisplay } from ' ./CardDisplay' ;
9
9
import { ConnectionService } from ' @/services/ConnectionService' ;
10
- import { onUnmounted , ref } from ' vue' ;
10
+ import { onUnmounted , ref , watch } from ' vue' ;
11
11
12
12
const props = defineProps ({
13
13
cardService: {
14
14
type: CardService
15
15
},
16
16
conService: {
17
17
type: ConnectionService
18
- }
18
+ },
19
+ debugOverlay: {
20
+ type: Boolean ,
21
+ default: false
22
+ },
23
+ pinShareZone: {
24
+ type: Boolean ,
25
+ default: false
26
+ },
27
+ pinHideZone: {
28
+ type: Boolean ,
29
+ default: false
30
+ },
19
31
});
20
32
const connected = ref (false );
21
33
34
+ /**
35
+ * This Eventlistener fits the canvas to the size of the arjs-video.
36
+ * It will be stopped onUnmounted.
37
+ */
22
38
const resizeController = new AbortController ();
23
39
window .addEventListener (
24
40
' resize' ,
@@ -37,6 +53,7 @@ window.addEventListener(
37
53
},
38
54
{ signal: resizeController .signal }
39
55
);
56
+
40
57
// Buttons
41
58
const toggleHand = () => {
42
59
handDisplay .toggleDisplay ();
@@ -94,7 +111,6 @@ var hideZone;
94
111
* @type {Zone}
95
112
*/
96
113
var shareZone;
97
- var debug = true ;
98
114
/**
99
115
* @type {CardDisplay}
100
116
*/
@@ -108,18 +124,12 @@ props.conService.onConnection(() => {
108
124
109
125
hideZone = new Zone (124 , 125 , sceneEl, ' hide' );
110
126
shareZone = new ShareZone (126 , 127 , sceneEl, ' share' , props .cardService .cardBack );
127
+ hideZone .zoneMarker1 .toggleDebugNumber ();
128
+ hideZone .zoneMarker2 .toggleDebugNumber ();
129
+ shareZone .zoneMarker1 .toggleDebugNumber ();
130
+ shareZone .zoneMarker2 .toggleDebugNumber ();
111
131
112
132
console .log (` Adding ${ props .cardService .numberOfCards } markers to the scene...` );
113
- document .querySelector (' a-scene' ).addEventListener (' click' , (event ) => {
114
- let x = (event .clientX / window .innerWidth ) * 4 - 2 ;
115
- let y = 3 - (event .clientY / window .innerHeight ) * 6 ;
116
- if (shareZone .isInZone (x, y)) {
117
- shareZone .redrawZoneToggle ();
118
- }
119
- if (hideZone .isInZone (x, y)) {
120
- hideZone .redrawZoneToggle ();
121
- }
122
- });
123
133
generateMarkers (sceneEl);
124
134
}
125
135
});
@@ -212,7 +222,7 @@ function generateMarkers(sceneEl) {
212
222
for (var k = 0 ; k < props .cardService .numberOfCards + 1 ; k++ ) {
213
223
var cardBackSrc = props .cardService .cardBack ;
214
224
var card = new CardMarker (sceneEl, cardBackSrc, k .toString ());
215
- if (debug ) {
225
+ if (props . debugOverlay ) {
216
226
card .toggleDebugNumber ();
217
227
}
218
228
cardmarkers .push (card);
@@ -262,6 +272,21 @@ function removeFoundMarker(marker, markerList) {
262
272
}
263
273
}
264
274
275
+ watch (() => props .debugOverlay , (enable , _ ) => {
276
+ hideZone .zoneMarker1 .toggleDebugNumber ();
277
+ hideZone .zoneMarker2 .toggleDebugNumber ();
278
+ shareZone .zoneMarker1 .toggleDebugNumber ();
279
+ shareZone .zoneMarker2 .toggleDebugNumber ();
280
+ for (let card of cardmarkers) {
281
+ card .toggleDebugNumber ();
282
+ }
283
+ });
284
+ watch (() => props .pinHideZone , (enable , _ ) => {
285
+ hideZone .redrawZoneToggle ();
286
+ });
287
+ watch (() => props .pinShareZone , (enable , _ ) => {
288
+ shareZone .redrawZoneToggle ();
289
+ });
265
290
// is called to remove all remainings of AFRAME as far as possible
266
291
onUnmounted (() => {
267
292
// stop resizing and reset
0 commit comments