middleware/src/Tracking/ModeManagement.cs
changeset 14 10d5199d9874
parent 13 50de8e8f44d7
equal deleted inserted replaced
13:50de8e8f44d7 14:10d5199d9874
    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             }