add grid manager
This commit is contained in:
@@ -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 !!!");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user