GridLine CreateLine(int x, int y, bool isHorizontal) { //need simpifying if (isHorizontal) { GridLine lineH = //Horizontal Instantiate(linePrefab, transform.position + new Vector3((float)((x + 0.5f) * unitDist), -y * unitDist, 0), Quaternion.identity) .GetComponentInChildren <GridLine>(); lineH.posX = x; lineH.posY = y; lineH.SetHorizontal(true); lines.Add(lineH); lineH.transform.SetParent(lineParent); lineH.transform.localScale = new Vector3(unitDist, unitDist, unitDist); return(lineH); } else { //Vertical GridLine lineV = Instantiate(linePrefab, transform.position + new Vector3(x * unitDist, -(float)((y + 0.5f) * unitDist), 0), Quaternion.identity) .GetComponentInChildren <GridLine>(); lineV.posX = x; lineV.posY = y; lineV.SetHorizontal(false); lines.Add(lineV); lineV.transform.SetParent(lineParent); lineV.transform.localScale = new Vector3(unitDist, unitDist, unitDist); return(lineV); } }