public void AddPoint(PentagramPointController p) { clearedPoints.Add(p.transform.position); lineRenderer.SetVertexCount(clearedPoints.Count); lineRenderer.SetPositions(clearedPoints.ToArray()); if (clearedPoints.Count == 6) { List <PentagramPointController> circlePoints = new List <PentagramPointController>(); float sevenTwo = 72 * Mathf.Deg2Rad; for (int i = 0; i < points.Count; i++) { float ang = Mathf.PI * 3 / 2 + sevenTwo * i; GameObject go = points[i]; circlePoints.Add(go.GetComponent <PentagramPointController>()); for (int j = 0; j < 2; j++) { ang += sevenTwo / 3; GameObject newPoint = GameObject.Instantiate(pentPoint); newPoint.transform.position = new Vector3(Mathf.Cos(ang), Mathf.Sin(ang), 0) * radius; newPoint.GetComponent <PentagramPointController>().controller = this; circlePoints.Add(newPoint.GetComponent <PentagramPointController>()); } } for (int i = 0; i < circlePoints.Count; i++) { //circlePoints[i].pair = circlePoints[(i + 1) % circlePoints.Count]; circlePoints[i].pair = circlePoints[(i - 1 + circlePoints.Count) % circlePoints.Count]; } phase++; circlePoints[0].select(true); } else if (clearedPoints.Count == 22) { phase++; Invoke("Win", 3.0f); } }
public void AddPoint(PentagramPointController p) { clearedPoints.Add(p.transform.position); lineRenderer.SetVertexCount(clearedPoints.Count); lineRenderer.SetPositions(clearedPoints.ToArray()); if (clearedPoints.Count == 6) { List<PentagramPointController> circlePoints = new List<PentagramPointController>(); float sevenTwo = 72 * Mathf.Deg2Rad; for (int i = 0; i < points.Count; i++) { float ang = Mathf.PI * 3 / 2 + sevenTwo * i; GameObject go = points[i]; circlePoints.Add(go.GetComponent<PentagramPointController>()); for (int j = 0; j < 2; j++) { ang += sevenTwo / 3; GameObject newPoint = GameObject.Instantiate(pentPoint); newPoint.transform.position = new Vector3(Mathf.Cos(ang), Mathf.Sin(ang), 0) * radius; newPoint.GetComponent<PentagramPointController>().controller = this; circlePoints.Add(newPoint.GetComponent<PentagramPointController>()); } } for (int i = 0; i < circlePoints.Count; i++) { //circlePoints[i].pair = circlePoints[(i + 1) % circlePoints.Count]; circlePoints[i].pair = circlePoints[(i - 1 + circlePoints.Count) % circlePoints.Count]; } phase++; circlePoints[0].select(true); } else if (clearedPoints.Count == 22) { phase++; Invoke("Win", 3.0f); } }
public void RemovePoint(PentagramPointController p) { clearedPoints.Remove(p.transform.position); }