Ejemplo n.º 1
0
        private void Start()
        {
            detectionInteraction.cameraJoueur = cameraJoueur;
            // Quand un objet est sélectionné avec le sélecteur, le joueur reçoit une référence de cet objet
            detectionInteraction.OnSelectionChange.AddListener((t_objSelectionner) =>
            {
                objetSelectionner = t_objSelectionner;
                GameManager.inst.uiManager.UpdateSelection(objetSelectionner);

                /*
                 * if (t_objSelectionner != null)
                 * {
                 *  if (t_objSelectionner.peutEtreUtiliser)
                 *  {
                 *      objetSelectionner = t_objSelectionner;
                 *      GameManager.inst.uiManager.UpdateSelection(objetSelectionner);
                 *  }
                 * }
                 * else
                 * {
                 *  GameManager.inst.uiManager.UpdateSelection(t_objSelectionner);
                 * }
                 */
            });
        }
Ejemplo n.º 2
0
        /**
         * S'occupe de tout les contrôles sauf de la caméra et du mouvement du joueur, appelé dans Update à chaque frame
         * @param void
         * @return void
         *
         **/
        private void Controlles()
        {
            // Recentrer la souris lors d'un clic
            if (Input.GetMouseButtonDown(0))
            {
                if (bloquerSouris)
                {
                    MouseManager.SetMouse(true);
                    bloquerSouris = true;
                }
            }

            // Touche: E
            if (Input.GetKeyDown(KeyCode.E))
            {
                // Interaction avec objet sélectionné
                if (objetSelectionner != null)
                {
                    if (objetSelectionner.peutEtreUtiliser)
                    {
                        objetSelectionner.Interagir();
                        objetSelectionner = null;
                        detectionInteraction.objetSelectionner = null;
                    }
                }
            }

            //if (Input.GetKey(KeyCode.Mouse1))
            //    animBras.SetTrigger("regarderMontre");
            // Animation course
            if (Input.GetKey(KeyCode.LeftShift) && !enCourse)
            {
                ToogleCourse();
            }
            else if (Input.GetKeyUp(KeyCode.LeftShift) && enCourse)
            {
                ToogleCourse();
            }
        }
Ejemplo n.º 3
0
 private void Update()
 {
     if (canInteractWithRaycast)
     {
         int layerMask = 1 << 9;
         layerMask = ~layerMask;
         Ray        ray = cameraJoueur.ViewportPointToRay(new Vector3(0.5f, 0.5f, 0));
         RaycastHit hit;
         if (Physics.Raycast(ray.origin, ray.direction, out hit, distanceInteraction, layerMask))
         {
             objetSelectionner = hit.transform.GetComponent <ZoneInteraction>();
             // Détermine si l'interaction est possible
             OnSelectionChange.Invoke(objetSelectionner);
         }
         else
         {
             if (objetSelectionner != null)
             {
                 objetSelectionner = null;
                 OnSelectionChange.Invoke(null);
             }
         }
     }
 }
Ejemplo n.º 4
0
 // Rafraichit le texte de sélection qui apparait au milieu de l'écran (Si le paramètre est NULL, alors le texte disparait)
 public void UpdateSelection(ZoneInteraction objetSelectionner)
 {
     if (objetSelectionner != null && selectionVisible)
     {
         texte_interaction.gameObject.SetActive(true);
         if (objetSelectionner.GetType() == typeof(InteractionPorte))
         {
             InteractionPorte objet = objetSelectionner as InteractionPorte;
             if (objet.porteBarrer)
             {
                 texte_interaction.text = "La porte est barrée...";
             }
             else
             {
                 if (objet.porteOuverte)
                 {
                     texte_interaction.text = "'E' pour fermer la porte.";
                 }
                 else
                 {
                     texte_interaction.text = "'E' pour ouvrir la porte.";
                 }
             }
         }
         else
         {
             // Type générique
             texte_interaction.text = "'E' pour interagir avec [" + objetSelectionner.name + "]";
         }
     }
     else
     {
         texte_interaction.gameObject.SetActive(false);
         texte_interaction.text = "";
     }
 }