45 lines
1.4 KiB
C#
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);
|
|
});
|
|
}
|
|
}
|
|
}
|
|
}
|