private void Update() { if (Input.GetKeyDown(KeyCode.B)) { if (!freezer.IsInteractionFreeze) { menuManager.OpenMenu(Menu.MenuName.Building); freezer.InteractionFreeze(); } } else if (Input.GetKeyDown(KeyCode.T)) { if (!freezer.IsInteractionFreeze) { menuManager.OpenMenu(Menu.MenuName.Market); marketMenu.SetMenuToOpen(); freezer.InteractionFreeze(); } } else if (Input.GetKeyDown(KeyCode.Escape)) { if (menuManager.IsOpenMenu(Menu.MenuName.Building)) { if (!freezer.IsFullFreeze) { menuManager.CloseMenu(Menu.MenuName.Building); freezer.InteractionUnfreeze(); } } else if (menuManager.IsOpenMenu(Menu.MenuName.Market)) { if (!freezer.IsFullFreeze) { menuManager.CloseMenu(Menu.MenuName.Market); marketMenu.SetMenuToClose(); freezer.InteractionUnfreeze(); } } else if (menuManager.IsOpenMenu(Menu.MenuName.Settings)) { menuManager.OpenMenu(Menu.MenuName.Pause); } else if (menuManager.IsOpenMenu(Menu.MenuName.Pause)) { ResumeGame(); } else if (builder.IsActiveBuilder()) { builder.DeactivateBuilder(); } else { menuManager.OpenMenu(Menu.MenuName.Pause); freezer.FullFreeze(); } } }
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(); }); } }