Esempio n. 1
0
    private void UpdateBuildingItemList(BuildingItem[] buildingItems)
    {
        buildingLayoutGroup.DetachChildren();

        foreach (GameObject buildingButton in buildingButtons)
        {
            Destroy(buildingButton);
        }

        buildingButtons = new GameObject[buildingItems.Length];
        int index = 0;

        foreach (BuildingItem buildingItem in buildingItems)
        {
            GameObject buildingButton = Instantiate(buildingItemPrefab, buildingLayoutGroup);
            buildingButtons[index] = buildingButton;
            ++index;

            BuildingMenuItem buildingMenuItem = buildingButton.GetComponent <BuildingMenuItem>();
            buildingMenuItem.image.sprite  = buildingItem.buildingSprite;
            buildingMenuItem.nameText.text = buildingItem.name;
            buildingMenuItem.SetCallBack(() =>
            {
                builder.SetCurrentBuilding(buildingItem.buildingPrefab);
                menuManager.CloseMenu(Menu.MenuName.Building);
                freezer.InteractionUnfreeze();
            });
        }
    }
Esempio n. 2
0
    public void Start()
    {
        Debug.Assert(freezer, "Freezer doesn't set");
        Debug.Assert(buildingItemList, "Building Item List doesn't set");
        Debug.Assert(builder, "Builder doesn't set");
        Debug.Assert(menuManager, "Menu Manager doesn't set");
        Debug.Assert(buildingLayoutGroup, "Building Layout Group doesn't set");
        Debug.Assert(buildingTypeLayoutGroup, "Building Type Layout Group doesn't set");
        Debug.Assert(buildingItemPrefab, "Building Item Prefab doesn't set");
        Debug.Assert(buildingTypeItemPrefab, "Building Type Item Prefab doesn't set");

        foreach (BuildingItemList.BuildingTypeItemToBuildingItem buildingTypeItemToBuildingItem in
                 buildingItemList.buildingTypeItemToBuildingItems)
        {
            GameObject buildingTypeItem = Instantiate(buildingTypeItemPrefab, buildingTypeLayoutGroup);

            BuildingMenuItem buildingMenuItem = buildingTypeItem.GetComponent <BuildingMenuItem>();
            buildingMenuItem.image.sprite = buildingTypeItemToBuildingItem.buildingTypeItem.buildingSprite;

            buildingMenuItem.SetCallBack(() => UpdateBuildingItemList(buildingTypeItemToBuildingItem.buildingItems));
        }

        UpdateBuildingItemList(buildingItemList.buildingTypeItemToBuildingItems[0].buildingItems);
    }