63 } |
63 } |
64 |
64 |
65 /* |
65 /* |
66 * Détecte tout changement de mode en se basant sur la proximité de l'utilisateur. |
66 * Détecte tout changement de mode en se basant sur la proximité de l'utilisateur. |
67 */ |
67 */ |
68 public void DetectProximityBasedModes(float proximity, int numberOfImages) |
68 public void DetectProximityBasedModes(float proximity) |
69 { |
69 { |
70 //Si l'utilisateur se déplace dans la zone de détection. |
70 //Si l'utilisateur se déplace dans la zone de détection. |
71 //On traite le problème en plusieurs limites, on discrétise la zone. |
71 //On traite le problème en plusieurs limites, on discrétise la zone. |
72 //On considère qu'il n'y a pas d'utilisateur si sa proximité est trop faible. |
72 //On considère qu'il n'y a pas d'utilisateur si sa proximité est trop faible. |
73 if (proximity < 10f && currentMode != Mode.NO_USER) |
73 if (proximity < 10f && currentMode != Mode.NO_USER) |
75 currentMode = Mode.NO_USER; |
75 currentMode = Mode.NO_USER; |
76 ModChangeEventArgs modChangeEvent = new ModChangeEventArgs(debug, server, "NO_USER"); |
76 ModChangeEventArgs modChangeEvent = new ModChangeEventArgs(debug, server, "NO_USER"); |
77 OnModChangeEvent(modChangeEvent); |
77 OnModChangeEvent(modChangeEvent); |
78 } |
78 } |
79 //S'il n'est pas encore au point d'interaction maximale, on considère qu'il est en chemin. |
79 //S'il n'est pas encore au point d'interaction maximale, on considère qu'il est en chemin. |
80 else if (proximity >= 10f && proximity < 100f) |
80 else if (proximity >= 10f && proximity < 100f && currentMode != Mode.USER_INCOMING) |
81 { |
81 { |
82 currentMode = Mode.USER_INCOMING; |
82 currentMode = Mode.USER_INCOMING; |
83 ModChangeEventArgs modChangeEvent = new ModChangeEventArgs(debug, server, "USER_INCOMING"); |
83 ModChangeEventArgs modChangeEvent = new ModChangeEventArgs(debug, server, "USER_INCOMING"); |
84 OnModChangeEvent(modChangeEvent); |
84 OnModChangeEvent(modChangeEvent); |
85 } |
85 } |
86 //S'il est arrivé au point, il a la mosaïque complète. |
86 //S'il est arrivé au point, il a la mosaïque complète. |
87 else |
87 else if(proximity == 100f && currentMode != Mode.MOSAIC) |
88 { |
88 { |
89 currentMode = Mode.MOSAIC; |
89 currentMode = Mode.MOSAIC; |
90 ModChangeEventArgs modChangeEvent = new ModChangeEventArgs(debug, server, "MOSAIC"); |
90 ModChangeEventArgs modChangeEvent = new ModChangeEventArgs(debug, server, "MOSAIC"); |
91 OnModChangeEvent(modChangeEvent); |
91 OnModChangeEvent(modChangeEvent); |
92 } |
92 } |