Beispiel #1
0
    // Update is called once per frame
    void Update()
    {
        if (active)
        {
            //initialisation des variables de test
            firstObject = null;
            bool impossibleAction = false;

            //on cherche l'objet survolé le plus hauit dans le layer
            for (int i = 0; i < objectList.Count; i++)
            {
                if (objectList[i].GetComponent <Collider2D>().enabled&& objectList[i].GetComponent <Collider2D>().overlapMouse())
                {
                    //Gestion du curseur
                    cursorAnim = true;

                    //gestion des radialButton
                    if (objectList[i].transform.GetComponent <RadialButtonScript>() != null)
                    {
                        if (objectList[i].transform.GetComponent <RadialButtonScript>().active == false)
                        {
                            impossibleAction = true;
                            break;
                        }
                    }

                    //gestion du highlight
                    if (objectList[i].transform.GetComponentInChildren <Highlight>() != null)
                    {
                        objectList[i].transform.GetComponentInChildren <Highlight>().overlap = true;
                    }

                    //gestion des jauges
                    if (objectList[i].transform.GetComponentInChildren <JaugeScript>() != null)
                    {
                        objectList[i].transform.GetComponentInChildren <JaugeScript>().show = true;
                    }

                    firstObject = objectList[i];

                    break;
                }
            }

            //activation de l'animation du curseur
            cursor.setInteractionAnim(cursorAnim);

            //Gestion du clic dans le jeu pour chaque objets
            if (Input.GetButtonDown("Fire1") && !impossibleAction)
            {
                //update des objets qui attendent un clic
                if (waitingObject.Count > 0)
                {
                    while (waitingObject.Count > 0)
                    {
                        if (!waitingObject[0].GetComponent <Collider2D>().overlapMouse())
                        {
                            waitingObject[0].GetComponent <ButtonScript>().onClicAway.Invoke();
                        }
                        waitingObject.RemoveAt(0);
                    }
                }

                //RAZ des objets en attentes
                waitingObject.Clear();

                if (firstObject != null)
                {
                    //lancement de l'evenement clic de l'objet survolé
                    firstObject.onClic.Invoke();

                    //gestion des son ouverture des menu
                    if (firstObject.tag.Contains("Action"))
                    {
                        this.GetComponent <AudioSource>().PlayOneShot(clicOnAction);
                    }
                    if (firstObject.GetComponent <RadialMenuScript>() != null)
                    {
                        this.GetComponent <AudioSource>().PlayOneShot(open);
                    }
                }
            }
            //gestion de l'affichage du nom
            if (firstObject != null)
            {
                if (previousObject == null)
                {
                    previousObject = firstObject;
                }
                else if (firstObject != previousObject)
                {
                    previousObject.overlapExitEvent();
                    previousObject = firstObject;
                }
                firstObject.overlapEvent();
            }
            else if (previousObject != null)
            {
                previousObject.overlapExitEvent();
                cursor.setInteractionAnim(false);
            }
        }
        else
        {
            if (firstObject != null)
            {
                firstObject.overlapExitEvent();
            }
            cursor.setInteractionAnim(false);
            cursor.wait();
        }
    }