void UpdateSelectorStatus(out GridLocation cent) { int gridwidth = levelgridwidths[Globals.gCurrentLevel - 1]; int gridheight = levelgridheights[Globals.gCurrentLevel - 1]; Vector2 mp = Input.mousePosition; Vector3 mouseworld = cam.ScreenToWorldPoint(mp); mouseworld += new Vector3(gridentrysize / 2f, gridentrysize / 2f); GridLocation center = null; int j = 0; for (int i = 0; i < gridwidth * gridheight; ++i) { if (i > 0 && i % gridwidth == 0) { j++; } // -- check intersection with this gridloc if (MouseInside(mouseworld, grid[i % gridwidth, j])) { center = grid[i % gridwidth, j]; break; } } if (center != null) { // -- set selector attrib selector.gameObject.SetActive(true); selector.transform.position = center.anchorpoint; // -- anchor next furniture sprite to selector GridSpace nextitemspace = currentlevelqueue.GetNextItemCost(); selector.SetSelectorFor(currentlevelqueue.GetNextItemCost()); Vector3 fo = GetOffsetForFurniture(nextitemspace.widthoffset, nextitemspace.heightoffset); currentlevelqueue.GetNextItem().transform.position = selector.transform.position + fo; } else { selector.gameObject.SetActive(false); } UpdatePlaceableStatus(center); cent = center; }