add grid manager

This commit is contained in:
Vladimir Koshevarov
2023-02-08 19:38:05 +02:00
parent ccb927ba61
commit fae301dd2d
26 changed files with 1312 additions and 201 deletions
@@ -0,0 +1,33 @@
using UnityEngine;
public class GridBuildingSystem : MonoBehaviour
{
[SerializeField] private Transform _testTransform;
private GridXZ<GridObject> _grid;
private void Awake()
{
int gridWidth = 10;
int gridHeight = 10;
float cellSize = 10f;
_grid = new GridXZ<GridObject>(gridWidth, gridHeight, cellSize, Vector3.zero, (GridXZ<GridObject> g, int x, int z) => new GridObject(g, x, z));
}
private void Update()
{
if (Input.GetMouseButtonDown(0))
{
_grid.GetXZ(Mouse3d.GetMouseWorldPosition(), out int x, out int z);
var gridObject = _grid.GetGridObject(x, z);
if (gridObject.CanPlace())
{
var transform = Instantiate(_testTransform, _grid.GetWorldPosition(x, z), Quaternion.identity);
gridObject.SetTransform(transform);
}
else
{
Debug.Log("Can't place item here !!!");
}
}
}
}