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(); }
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(); }