Exemplo n.º 1
0
        protected void BuildVariableBlocks()
        {
            Transform parent = mRootList[Define.VARIABLE_CATEGORY_NAME].transform;

            //build createVar button
            GameObject obj = GameObject.Instantiate(BlockViewSettings.Get().PrefabBtnCreateVar);

            obj.transform.SetParent(parent, false);
            obj.GetComponentInChildren <Image>().color = mConfig.GetBlockCategory(Define.VARIABLE_CATEGORY_NAME).Color;
            obj.GetComponent <Button>().onClick.AddListener(() =>
            {
                DialogFactory.CreateDialog("variable_name");
            });

            List <VariableModel> allVars = mWorkspace.GetAllVariables();

            if (allVars.Count == 0)
            {
                return;
            }

            CreateVariableHelperViews();

            //list all variable getter views
            foreach (VariableModel variable in mWorkspace.GetAllVariables())
            {
                CreateVariableGetterView(variable.Name);
            }
        }
Exemplo n.º 2
0
        public void SetActiveBlocks(Dictionary <string, CategoryBlocks> activeCategories, Dictionary <string, PopUpData> categoriesTutorials = null)
        {
            this.activeCategories = activeCategories;
            nActiveCategories     = activeCategories.Keys.Count;
            TutorialTrigger trigger = GetComponent <TutorialTrigger>();

            if (trigger != null)
            {
                trigger.enabled = nActiveCategories > 0;
            }

            Block.blocksAvailable = new Dictionary <string, int>();
            int priority = 400;

            //Activate the category if it's not in the active list
            foreach (var category in mConfig.BlockCategoryList)
            {
                bool active = activeCategories.ContainsKey(category.CategoryName.ToLower());
                mMenuList[category.CategoryName].gameObject.SetActive(active);
                if (categoriesTutorials != null && categoriesTutorials.ContainsKey(category.CategoryName))
                {
                    TutorialTrigger categoryTrigger = mMenuList[category.CategoryName].gameObject.AddComponent <TutorialTrigger>();
                    categoryTrigger.isSaveCheckpoint = true;
                    categoryTrigger.priority         = priority++;
                    categoryTrigger.highlightObject  = true;
                    categoryTrigger.info             = categoriesTutorials[category.CategoryName];
                }

                //Set Block Count
                if (active)
                {
                    mMenuList[category.CategoryName].gameObject.SetActive(true);
                    List <string> blockTypes = mConfig.GetBlockCategory(category.CategoryName).BlockList;
                    foreach (string blockType in blockTypes)
                    {
                        CategoryBlocks info = activeCategories[category.CategoryName.ToLower()];
                        if (info.activate == (info.activeBlocks.ContainsKey(blockType)))
                        {
                            int value = (info.activeBlocks.ContainsKey(blockType) ? info.activeBlocks[blockType] : Int16.MaxValue);
                            Block.blocksAvailable[blockType] = value;
                        }
                    }
                }
            }
        }