// Open buildings layout, displaying N buildings public void OpenClosePanel(int panelIndex, bool open, int buildingsNb = 0) { Debug.Log("OpenClosePanel | PanelIndex [" + panelIndex + "] | Open [" + open + "] | BuildingsNb [" + buildingsNb + "]"); BuildingShopPanel bsp = FindBuildingShopPanelByIndex(panelIndex); if (bsp != null && (buildingsNb <= bsp.maxSlots)) { if (!open || buildingsNb > 0) { Animator anim = bsp.panel.GetComponent <Animator>(); if (anim != null) { if (open) { anim.SetTrigger("Open" + buildingsNb); anim.SetInteger("OpenLevel", buildingsNb); bsp.currentOpenLevel = buildingsNb; } else { anim.SetTrigger("Close"); anim.SetInteger("OpenLevel", 0); bsp.currentOpenLevel = 0; } bsp.currentlyOpen = open; } } } }
public void AddBuildingShopItem(BuildingManager.BuildingType buildingType) { BuildingShopPanel buildingShopPanel = null; switch (buildingType.buildingCategory) // Attack, Defense, Production { case BuildingManager.BuildingCategory.Attack: { buildingShopPanel = FindBuildingShopPanelByIndex(attackBuildingTypeIndex); break; } case BuildingManager.BuildingCategory.Defense: { buildingShopPanel = FindBuildingShopPanelByIndex(defenseBuildingTypeIndex); break; } case BuildingManager.BuildingCategory.Production: { buildingShopPanel = FindBuildingShopPanelByIndex(productionBuildingTypeIndex); break; } default: { Debug.LogError("AddBuildingShopItem | Wrong Building Type"); break; } } if (buildingShopPanel != null) { if (buildingShopPanel.currentUsedSlots < buildingShopPanel.maxSlots) { // Instantiation GameObject instantiatedBuildingShopItem = Instantiate(buildingShopItemPrefab, Vector3.zero, Quaternion.identity); instantiatedBuildingShopItem.transform.SetParent(buildingShopPanel.panel.transform, false); // Configuration instantiatedBuildingShopItem.GetComponent <BuildingShopItemV2>().SetInfo(buildingType); // Panel update buildingShopPanel.buildingShopItemsList.Add(instantiatedBuildingShopItem); buildingShopPanel.currentUsedSlots++; } else { Debug.LogError("AddBuildingShopItem | Max nb of BuildingItem in panel reached"); } } else { Debug.LogError("AddBuildingShopItem | No BuildingShopPanel selected"); } }
public BuildingShopPanel FindBuildingShopPanelByIndex(int id) { BuildingShopPanel bsp = null; foreach (BuildingShopPanel buildingShopPanel in buildingShopPanelsList) { if (buildingShopPanel.buildingTypeIndex == id) { bsp = buildingShopPanel; break; } } return(bsp); }