public BuildingButtonManager(Building building, ResourceManager resourceManager,
                                     BuildingButtonReferenceHolder buttonReferenceHolderPrefab, Transform parent)
        {
            Assert.IsNotNull(building, "building is null in BuildingButton");
            Assert.IsNotNull(resourceManager, "resourceManager is null in BuildingButton");
            Assert.IsNotNull(buttonReferenceHolderPrefab, "buildingButtonHolder is null in BuildingButton");
            Assert.IsNotNull(parent, "parent is null in BuildingButton");

            this.building = building;

            buttonReferenceHolder = Object.Instantiate(buttonReferenceHolderPrefab, parent);
            buttonReferenceHolder.Init();

            buttonVisual = new BuildingButtonVisual(building, resourceManager, buttonReferenceHolder);

            buttonReferenceHolder.collapsibleButton.onClick.AddListener(buttonVisual.SwitchBodyVisibility);

            SubscribeToDelegates();
            AssignBuildButtons();
        }
Beispiel #2
0
        public BuildingButtonVisual(Building building, ResourceManager resourceManager,
                                    BuildingButtonReferenceHolder buttonReferenceHolder)
        {
            Assert.IsNotNull(building, "building is null in BuildingButton");
            Assert.IsNotNull(resourceManager, "resourceManager is null in BuildingButton");
            Assert.IsNotNull(buttonReferenceHolder, "buildingButtonHolder is null in BuildingButton");

            this.building              = building;
            this.resourceManager       = resourceManager;
            this.buttonReferenceHolder = buttonReferenceHolder;

            if (building.IsUnlocked())
            {
                Unlock();
            }
            else
            {
                buttonReferenceHolder.windowContent.SetActive(false);
            }

            SwitchBodyVisibility();
        }