Files
SimUL/Assets/Scripts/GridBuildingSystem/GridBuildingSystem.cs
T
Vladimir Koshevarov fae301dd2d add grid manager
2023-02-08 19:38:05 +02:00

34 lines
1010 B
C#

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 !!!");
}
}
}
}