예제 #1
0
    /// <summary>
    /// Valide les achats de l'utilisateur :
    /// - Créé les nouvelles unités
    /// - Déduit les fonds correspondants
    /// - Vide la liste du panier
    /// - Ferme le panel ShopWrapper
    /// </summary>
    public void ValiderButton()
    {
        if (!guiManager.GetComponent <GUIController>().dialogOpened || shopPanel.activeSelf) // S'il n'y a pas d'autre fenêtre de dialogue d'ouverte
        {
            if (cartItems.Count > 0)
            {
                int       spawned  = 0;
                Transform unitList = GameObject.Find("Unites").transform;

                // Pour chaque unité
                for (int i = 0; i < 7; i++)
                {
                    GameObject item;

                    // S'il y a une entrée dans le panier
                    if (cartItems.TryGetValue(i, out item))
                    {
                        // Récupération du nombre demandé par le joueur
                        int count = Int32.Parse(item.transform.Find("Count").gameObject.GetComponent <Text>().text);

                        // Création de chaque instance demandée de cette unité
                        for (int j = 0; j < count; j++)
                        {
                            Vector3 position = new Vector3(41.0f, 1.2f, 19.0f - 0.75f * spawned);

                            CreateUnit(i, unitList, position, joueur);

                            spawned++;
                        }
                    }
                }

                joueur.AjouterCredits(-total);
                SetTotalText(0);
                AnnulerButton();
            }
        }
    }