Added a building menu

This commit is contained in:
2026-03-31 16:48:27 +01:00
parent 0b9f49e5ea
commit f962d34596
8 changed files with 488 additions and 18 deletions

View File

@@ -0,0 +1,48 @@
using System.Collections.Generic;
using Fruitomation.Global;
using UnityEngine;
using UnityEngine.UI;
namespace Fruitomation.UI
{
public class BuildingMenu : MonoBehaviour
{
[System.Serializable] private class BuildingInfo
{
public string Name;
public GameObject Prefab;
}
[Header("References")]
[SerializeField] private GameCursor Cursor;
[SerializeField] private GameObject Menu;
[SerializeField] private GameObject MenuGrid;
[SerializeField] private GameObject MenuItemPrefab;
[Header("Options")]
[SerializeField] private List<BuildingInfo> BuildingPrefabs;
private void Update()
{
Menu.SetActive(GameStateController.Is(GameState.BuildingMenu));
}
private void Start()
{
foreach (BuildingInfo info in BuildingPrefabs)
{
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.Prefab);
});
}
}
}
}