// Update is called once per frame
void Update()
{
//set the building to mouse position
Vector3 m = Input.mousePosition;
m = new Vector3(m.x, m.y, transform.position.y);
Vector3 p = camera.ScreenToWorldPoint(m);
if (currentPump != null && !hasPlaced)
{
currentPump.position = p;
if (Input.GetMouseButtonDown(0))
{
if (IsLegalPosition())
{
hasPlaced = true;
}
}
}
else
{
if (Input.GetMouseButtonDown(0))
{
RaycastHit hit = new RaycastHit();
Ray ray = new Ray(p, Vector3.down);
if (Physics.Raycast(ray, out hit, Mathf.Infinity, PumpsMask))
{
if (placeablePumpOld != null)
{
placeablePumpOld.SetSelected(false);
}
hit.collider.gameObject.GetComponent <PlaceblePump>().SetSelected(true);
placeablePumpOld = hit.collider.gameObject.GetComponent <PlaceblePump>();
}
else
{
if (placeablePumpOld != null)
{
placeablePumpOld.SetSelected(false);
}
}
}
}
}