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);
    }
示例#2
0
    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);
    }
示例#3
0
        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;
        }