示例#1
0
        private List <MenuCategorie> ReadCategorieTables(DataTable dataTable, MainMenu mainMenu)
        {
            DataView view = new DataView(dataTable);

            view.RowFilter = $"menu_id = {mainMenu.MenuId}";

            List <MenuCategorie> menuCategorieList = new List <MenuCategorie>();
            int categorieId = -1;

            foreach (DataRowView dr in view)
            {
                int currentCategorieId = (int)dr["menu_categorie_id"];

                if (categorieId != currentCategorieId)
                {
                    MenuCategorie categorie = new MenuCategorie(
                        currentCategorieId,
                        (int)dr["menu_id"],
                        dr["categorie_name"].ToString(),
                        (bool)dr["VAT"],
                        new List <MenuItem>()
                        );
                    categorie.MenuItems = ReadMenuItemTables(dataTable, categorie);

                    menuCategorieList.Add(categorie);
                }

                categorieId = currentCategorieId;
            }
            return(menuCategorieList);
        }
示例#2
0
    void initializePanelExtend(TypeMenu menu)
    {
        categorie = new MenuCategorie(menu);

        if (categorie != null)
        {
            if (!gameObject.activeSelf)
            {
                gameObject.SetActive(true);
            }
            Sprite[] spritesCat = categorie.GetSprites();
            bool[]   available  = categorie.getAvailable();
            for (int i = 0; i < spritesCat.Length; i++)
            {
                if (spritesCat[i] == null)
                {
                    buttons[i].GetComponent <Image>().sprite = null;
                    buttons[i].GetComponent <Image>().CrossFadeAlpha(0.5f, 0, true);
                    buttons[i].GetComponent <Button>().interactable = false;
                }
                else
                {
                    //Mettre a jour l'image du button
                    buttons[i].GetComponent <Image>().sprite = spritesCat[i];


                    //Si le joueur peut utiliser le bouton
                    if (available[i])
                    {
                        buttons[i].GetComponent <Image>().CrossFadeAlpha(1, 0, true);

                        Button button = buttons[i].GetComponent <Button>();
                        button.interactable = true;

                        //Retire les listeners et ajoute le bon.
                        button.onClick.RemoveAllListeners();
                        button.onClick.AddListener(delegate { effectButton(button.gameObject); });
                    }
                    else
                    {
                        buttons[i].GetComponent <Image>().CrossFadeAlpha(0.5f, 0, true);
                        buttons[i].GetComponent <Button>().interactable = false;
                    }
                }
            }
        }
        else
        {
            gameObject.SetActive(false);
        }
    }
示例#3
0
    public void changePanelExtend(TypeMenu menu)
    {
        if (categorie != null)
        {
            if (categorie.type == menu)
            {
                categorie = null;
                gameObject.SetActive(false);
            }
            else
            {
                initializePanelExtend(menu);
            }
        }
        else
        {
            initializePanelExtend(menu);
        }



        /*
         * switch (menu) {
         * case "Building":
         *
         *      for(int i = 0;i<buttons.Length;i++){
         *              Sprite button = Resources.Load<Sprite>("UI/Buttons/ButtonBuilding" + i.ToString());
         *              //Debug.Log (button);
         *              if(button == null ){
         *                      buttons[i].GetComponent<Image>().sprite = null;
         *                      buttons[i].GetComponent<Image>().CrossFadeAlpha(0,0,true);
         *                      buttons[i].GetComponent<Button>().interactable = false;
         *              }
         *              else{
         *                      buttons[i].GetComponent<Image>().sprite = button ;
         *                      buttons[i].GetComponent<Button>().interactable = true;
         *                      buttons[i].GetComponent<Image>().CrossFadeAlpha(1,0,true);
         *              }
         *      }
         *      break;
         *
         * default :
         *      break;
         *
         * }
         */
    }
示例#4
0
        private List <MenuItem> ReadMenuItemTables(DataTable dataTable, MenuCategorie menuCategorie)
        {
            DataView view = new DataView(dataTable);

            view.RowFilter = $"menu_categorie_id = {menuCategorie.CategorieId}";

            List <MenuItem> menuItemsList = new List <MenuItem>();

            foreach (DataRowView dr in view)
            {
                MenuItem item = new MenuItem(
                    (int)dr["menu_item_id"],
                    (int)dr["menu_categorie_id"],
                    dr["item_name"].ToString(),
                    (decimal)dr["price"],
                    (int)dr["stock"]
                    );

                menuItemsList.Add(item);
            }
            return(menuItemsList);
        }