private void UpdateLineRenderers() { // Update ImageLines. //lineRenderer.SetNumPoints(numPoints); //for (int i=0; i<numPoints; i++) { // lineRenderer.SetPoint (i, points[i]); //} // Add missing ImageLines! for (int i = imgLines.Count; i < numLines; i++) { ImageLine newObj = Instantiate(ResourcesHandler.Instance.ImageLine).GetComponent <ImageLine>(); newObj.Initialize(this.transform); newObj.SetAnchors(Vector2.zero, Vector2.zero); // bottom-left anchor. newObj.SetColor(beamLineColor); newObj.SetThickness(beamLineThickness); imgLines.Add(newObj); } // Update all ImageLines! for (int i = 0; i < imgLines.Count; i++) { bool isVisible = i < numLines; imgLines[i].IsVisible = isVisible; imgLines[i].SetStartAndEndPos(lines[i]); } // Position the ps_endSparks! Line endLine = lines[numLines - 1]; ps_endSparks.transform.localPosition = endLine.end; float endSparksRot = endLine.GetAngleDeg(); // -LineUtils.GetAngle_Degrees (lineRenderer.GetPoint(numPoints-1), lineRenderer.GetPoint(numPoints-2)); ps_endSparks.transform.localEulerAngles = new Vector3(ps_endSparks.transform.localEulerAngles.x, ps_endSparks.transform.localEulerAngles.y, endSparksRot); }
private void AddLine(Vector2 startPos, Vector2 endPos) { ImageLine newObj = Instantiate(ResourcesHandler.Instance.ImageLine).GetComponent <ImageLine>(); newObj.Initialize(this.transform, startPos, endPos); GameUtils.EchoRectTransformAnchor(myRectTransform, newObj.MyRectTransform); newObj.gameObject.name = "ImageLine" + lines.Count; newObj.SetColor(lineColor); newObj.SetThickness(lineThickness); lines.Add(newObj); }
private void MakeBorderLine(int side) { Line line = GetBorderLine(side); ImageLine imageLine = Instantiate(ResourcesHandler.Instance.imageLine).GetComponent <ImageLine>(); imageLine.Initialize(this.transform, line.start, line.end); imageLine.name = "BorderLine_" + side; imageLine.SetThickness(4); imageLine.SetColor(new Color(0, 0, 0, 0.75f)); imageLine.gameObject.layer = this.gameObject.layer; i_borders[side] = imageLine; }