Files
Fruitomation/Assets/Scripts/UI/BuildingMenu.cs
2026-04-21 19:53:45 +01:00

45 lines
1.4 KiB
C#

using System;
using Fruitomation.Global;
using Fruitomation.Game;
using UnityEngine.UI;
using UnityEngine;
namespace Fruitomation.UI
{
public class BuildingMenu : MonoBehaviour
{
[Header("References")]
[SerializeField] private GameCursor Cursor;
[SerializeField] private GameObject Menu;
[SerializeField] private GameObject MenuGrid;
[SerializeField] private GameObject MenuItemPrefab;
[SerializeField] private BuildingRegistry BuildingPrefabs;
private void Update() =>
Menu.SetActive(GameStateController.Is(GameState.BuildingMenu));
private void Start()
{
foreach (BuildingRegistry.BuildingInfo info in BuildingPrefabs.GetBuildings())
{
if (!UpgradeManager.Is(info.Requirement))
{
continue;
}
GameObject go = Instantiate(MenuItemPrefab, MenuGrid.transform);
Text text = go.GetComponentInChildren<Text>();
text.text = info.Name;
Button butt = go.GetComponent<Button>();
butt.onClick.AddListener(() =>
{
GameStateController.State = GameState.Building;
Cursor.SetSelectedBuildingToBuild(info);
});
}
}
}
}